0

我不清楚为什么这不起作用:

class FastGrowers < ActiveRecord::Base  
end 
FastGrowers.create_or_update(:id => t.id, :ticker => ticker, :five_year_growth_rate => growth_rate)

结果我得到了这个:

/var/lib/gems/1.9.1/gems/activerecord-3.2.13/lib/active_record/dynamic_matchers.rb:55:in `method_missing': undefined method `create_or_update' for #<Class:0x8aaa264> (NoMethodError)

是什么赋予了?

4

1 回答 1

4

它不起作用,因为该方法不是由ActiveRecord.

也许你想要FastGrowers.find_or_create_by_id

grower = FastGrowers.find_or_create_by_id(t.id)
grower.update_attributes(:ticker => ticker, :five_year_growth_rate => growth_rate)

但是如果你有一个id,你应该知道你是否有记录,对吧?很难说出你想要做什么,但有些东西是可疑的。

于 2013-06-25T00:34:38.523 回答