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

3
使用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 文字吗?最简单的方法是将它们去除吗?


我想我找到了答案。Lorem.sentences返回一个数组。当我在最后添加.join(" ")时,连字符消失了并且读起来正确。当你尝试将数组放入字符串中时,可能会出现连字符。 - Kevin K
1
实际上,当转换为字符串时,它生成YAML的宝石。 - deefour
1个回答

3

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

由于我们要求Ruby将其存储为字符串,Ruby根据YAML的指南进行解释,这是一种用文本表示数据结构的方式。

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


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接