1

我创建了一个 rake 任务来使用populator创建测试数据。我需要读取当前迭代的索引并设置模型的属性之一。谁能告诉如何在填充方法中读取当前索引值?

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

where{CURRENT_INDEX}应该是当前迭代的索引值。

我尝试在块变量中添加索引,Category.populate 50 do |category, index|假设每个循环 sysntax 都是 ruby​​,但没有奏效。

4

1 回答 1

2

看起来 ruby​​gem.org 在更改后没有更新 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
...
于 2012-08-29T13:15:52.983 回答