Почему вывод 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 в качестве разделителя для добавления.