Rails 3.1无法使用rails控制台中的has_one:polymorphic模型创建

时间:2011-10-11 00:36:46

标签: ruby-on-rails ruby-on-rails-3

我有以下型号:

class MenuItem < ActiveRecord::Base
    has_one :price, :as => :pricable
    accepts_nested_attributes_for :price
    attr_accessible :price_attributes, :price
end

class Price < ActiveRecord::Base
    belongs_to :pricable, :polymorphic => true
    attr_accessible :price, :price_comment
end

我正在尝试使用以下命令插入rails控制台:

MenuItem.create({"name"=>"Julie's Mac & Cheese","price"=>{"price"=>14}})

但是我收到了这个错误:

ActiveRecord::AssociationTypeMismatch: Price(#70145189558680) expected, got Hash(#70145158648700)

我如何强迫它认为这是一个价格?尝试使用它作为符号

THX?

1 个答案:

答案 0 :(得分:2)

MenuItem.create(:name => "Julie's Mac & Cheese", :price_attributes => {:price => 14})

编辑很抱歉由于缺乏解释但答案很简单......你只是没有通过正确的参数。我也清理了一下。