我有一个模特赛事和一个模特意甲。 它们的定义如下:
in event.rb belongs_to :serie accepts_nested_attributes_for :serie attr_accessible :serie in serie.rb has_many :events
事件表有serie_id键。
在活动表格中,我有以下几点:
form_for @event do |f| ... ... f.fields_for @event.serie do |serie_f| .... end end
对控制器的请求是这样的:
... "event"=>{...., "serie"=>{"..."=>"19/12/2012", ....}, ...}...
在events_controller的创建动作中,我有:
def create @event = current_user.events.new(params[:event]) ....
在这一行中,我收到以下错误:
ActiveRecord::AssociationTypeMismatch (Serie(#134112340) expected, got ActiveSupport::HashWithIndifferentAccess(#92663620))
不确定问题是什么
答案 0 :(得分:1)
你应该检查这个问题:ActiveRecord::AssociationTypeMismatch when attempting to save nested attributes in Rails
我认为您只需在模型中将attr_accessible :serie
替换为attr_accessible :serie_attributes
在您看来,请尝试f.fields_for :serie do |serie_f|
而不是f.fields_for @event.serie do |serie_f|