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

Ruby on rails 为什么faker::lorem的输出会在字符串的开头产生破折号?,ruby-on-rails,faker,lorem-ipsum,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 比如

使用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
比如:


知道为什么这个函数返回带破折号的Lorem吗?去除它们的最简单方法?

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

因为我们要求Ruby将其存储在一个字符串中,所以Ruby根据的指导原则对其进行解释,这是一种用文本表示数据结构的方法


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

我想我已经解决了。返回一个数组。当我在末尾添加.join(“”)时,破折号消失了,并且读得正确。破折号必须是当您尝试将数组放入字符串时发生的情况。它实际上是转换为字符串时生成YAML的gem。
---
- Odit consectetur perspiciatis delectus sunt quo est.
- Tempore excepturi soluta aliquam perferendis.