我安装了'faker‘gem,但当我使用它(Faker::Book.name)时,它不会显示一个随机名称,而只显示一个字符串"Faker::Book“
lib > tasks > data_populate
require 'colorize'
namespace :data_populate do
namespace :populate do
desc "Populate all model data set"
task :all => :environment do
require 'faker'
puts "\n'Populating Model Data'".yellow
Job.where(name: "Faker::Book").destroy_all
10.times do |l|
Job.create(name: Faker::Book.name, description: Faker::Lorem.sentence(7), business_id: 1)
end
end #all end
end #populate end
end #end rake dashboard当代码运行时,Job Title始终是"Faker::Book“
发布于 2016-05-27 22:12:51
"Faker::Book"不能存储到db中,它的name方法只能选择一个随机的Name值,所以它不能在where子句中通过类名来匹配,所以你只需要尝试定义一些constance name部分,并对其进行匹配:
Job.where("name LIKE 'faker%'").destroy_all
10.times do |l|
Job.create(name: "faker " + Faker::Book.name, description: Faker::Lorem.sentence(7), business_id: 1)
endhttps://stackoverflow.com/questions/37485409
复制相似问题