2013-06-24 13 views
0

對不起,愚蠢的問題,這個異常用ActiveRecord(不是在軌),但我GOOGLE了不少,似乎無法找出我甚至實際遇到的問題是什麼。 我試圖插入一個(N爲空)表並得到以下:爲什麼我會得到使用自動增量

/var/lib/gems/1.9.1/gems/activerecord-3.2.13/lib/active_record/attribute_assignment.rb:69:in `assign_attributes': undefined method `stringify_keys' for "A":String (NoMethodError) 

我查詢另一個表的「股票」字段和計算該股票的GROWTH_RATE,然後嘗試將這些值進入fast_growers。這裏是相關的代碼:

Tickers.all.each do |t| 
    ticker = t.ticker 
    #get ticker data from interwebs and parse with Nokogiri 
    #calculate growth_rate 
    FastGrowers.create(ticker, growth_rate) 
end 

如果任何人都可以闡明發生了什麼,我將不勝感激。

謝謝!

+0

你傳遞一個字符串,你應該傳遞一個散列。 – oldergod

+0

@Ramy,您的模特名稱是「Tickers」還是「Ticker」,單數還是複數? – vee

+0

@vinodadhikary Tickers – Ramy

回答

1

該錯誤消息表明您的不傳遞正確的類型的參數到assign_attributes方法(其被用於設置一個ActiveRecord對象的屬性,它將它們保存到數據庫中之前)。 FastGrowers是否繼承ActiveRecord?如果是這樣,你是否重寫了FastGrowers.create方法來獲取Tickers對象?我懷疑你想要的可能是FastGrowers.create(:ticker => ticker,:growth_rate => growth_rate),但不能確定從上面的代碼片段。

希望這會有幫助/

相關問題