我创建了一个rake任务来使用populator创建测试数据。我需要读取当前迭代的索引并在模型的一个属性中设置。谁能告诉我们如何在populate方法中读取当前索引值?
namespace :db do
desc "Erase and fill database"
task :populate => :environment do
require 'populator'
Category.delete_all
Category.populate 50 do |category|
category.name = Populator.words(1..3).titleize
category.index = {CURRENT_INDEX}
end
end
end
其中{CURRENT_INDEX}
应该是当前迭代的索引值。
我尝试在块变量Category.populate 50 do |category, index|
中添加索引,假设每个循环sysntax都有ruby但是没有用。
答案 0 :(得分:2)
看起来rubygem.org在changes之后没有更新gem。以下是我修复它的方法。
我直接将gem的源码指向master分支。
如此替换
gem 'populator'
与
gem 'populator', git: "https://github.com/ryanb/populator.git"
Gemfile 中的
在我的佣金任务中
...
Category.populate 50 do |category, index|
category.name = Populator.words(1..3).titleize
category.index = index
end
...