2012-08-27 111 views
1

我已經創建了一個使用populator創建測試數據的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 

其中{CURRENT_INDEX}應該是當前迭代的索引值。

我試圖在塊變量Category.populate 50 do |category, index|中添加索引,假設每個循環sysntax都有ruby但沒有工作。

+0

深度存儲在這裏:HTTP s://github.com/ryanb/populator/blob/master/lib/populator/factory.rb#L7 – apneadiving

+0

@apneadiving謝謝你的回覆。我嘗試'category.index = @深度'沒有幫助。 –

+0

它是一個類變量 – apneadiving

回答

2

看起來像rubygem.org尚未對changes更新gem。這是我如何解決它。

我將寶石的來源直接指向了主分支。

所以更換

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 
... 
相關問題