Почему вывод faker::lorem производит тире в начале строки?

Использование faker gem с рельсами для генерации поддельных данных. Когда я использую faker::lorem, вывод содержит черточки перед строкой.

namespace :db do
  desc "Fill database with sample data"
  task populate: :environment do
    7.times do |l|
      line = Line.create!(sentence: Faker::Lorem.sentences(2))
    end
  end
end

Подобно:

---
- Odit consectetur perspiciatis delectus sunt quo est.
- Tempore excepturi soluta aliquam perferendis.

Есть идеи, почему эта функция возвращает Лорем с тире? Самый простой способ их раздеть?

1 ответ

Как отмечают Кевин и Дефур в комментариях, Faker::Lorem возвращает массив.

Поскольку мы просим Ruby сохранить его в виде строки, Ruby интерпретирует его в соответствии с рекомендациями для YAML, который представляет собой способ представления структур данных в тексте.

Если вы столкнулись с этой проблемой, самое простое решение - использовать встроенный в Ruby метод преобразования массива в строку. .join(x), который принимает строку x в качестве разделителя для добавления.

Другие вопросы по тегам