我不清楚为什么这不起作用:
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)
是什么给了什么?
答案 0 :(得分: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
,你应该知道你是否有记录,对吗?很难说你想要做什么,但有些东西是可疑的。