Ruby on rails Rails 3.2.9接受\u嵌套的\u属性\u以避免混淆

Ruby on rails Rails 3.2.9接受\u嵌套的\u属性\u以避免混淆,ruby-on-rails,associations,belongs-to,Ruby On Rails,Associations,Belongs To,我有一个模特比赛和一个模特系列赛。 它们的定义如下: in event.rb belongs_to :serie accepts_nested_attributes_for :serie attr_accessible :serie in serie.rb has_many :events ... "event"=>{...., "serie"=>{"..."=>"19/12/2012", ....}, ...}... in event.rb 属于:意甲 接受系列的\u嵌套\u属性\u 可

我有一个模特比赛和一个模特系列赛。 它们的定义如下:

in event.rb belongs_to :serie accepts_nested_attributes_for :serie attr_accessible :serie in serie.rb has_many :events ... "event"=>{...., "serie"=>{"..."=>"19/12/2012", ....}, ...}... in event.rb 属于:意甲 接受系列的\u嵌套\u属性\u 可访问属性:serie 在serie.rb中 你参加过很多活动吗 事件表具有serie_id键

在事件形式中,我大致有以下几点:

form_for @event do |f| ... ... f.fields_for @event.serie do |serie_f| .... end end @event do|f的表格| ... ... f、 @event.serie do的字段| .... 结束 结束 对控制器的请求如下:

in event.rb belongs_to :serie accepts_nested_attributes_for :serie attr_accessible :serie in serie.rb has_many :events ... "event"=>{...., "serie"=>{"..."=>"19/12/2012", ....}, ...}... ... “事件”=>{…,“系列”=>{…”=>“19/12/2012”,…},…},…}。。。 在events\u controller的创建操作中,我有:

def create @event = current_user.events.new(params[:event]) .... def创建 @event=当前用户.events.new(参数[:event]) .... 在这一行中,我得到以下错误:

ActiveRecord::AssociationTypeMismatch (Serie(#134112340) expected, got ActiveSupport::HashWithIndifferentAccess(#92663620)) ActiveRecord::AssociationTypeMismatch(应为序列号(#134112340),获得ActiveSupport::HashWithInferenceAccess(#92663620))
不确定问题出在哪里

您应该检查以下问题:。
我认为您只需在您的模型中将
attr\u accessible:serie
替换为
attr\u accessible:serie\u属性。
在您看来,尝试将@event.serie do | serie | f |
改为
f.fields | for@event.serie do | serie |