为什么faker :: lorem的输出会在字符串的开头产生破折号?

时间:2012-08-31 17:43:34

标签: ruby-on-rails faker lorem-ipsum

使用faker gem和rails生成一些假数据。当我使用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.

知道为什么这个函数用破折号返回Lorem?剥离它们的最简单方法是什么?

1 个答案:

答案 0 :(得分:3)

正如Kevin和Deefour在评论中提到的,Faker :: Lorem返回一个数组。

由于我们要求Ruby将其存储在字符串中,因此Ruby会根据YAML的指南来解释它,这是一种在文本中表示数据结构的方法。

如果您遇到此问题,最简单的解决方法是使用Ruby内置的数组到字符串转换方法.join(x),它将字符串x作为要添加的分隔符。