0

我有一个模型事件和一个模型 Serie。它们的定义如下:

在事件.rb

所属:系列
接受嵌套属性:系列
attr_accessible :系列

在 serie.rb

has_many :事件

事件表具有 serie_id 键。

在活动表格中,我几乎有以下内容:

form_for @event 做 |f|
   ...
   ...
   f.fields_for @event.serie 做 |serie_f|
     ……
   结尾
 结尾

对控制器的请求是这样的:

... "事件"=>{...., "serie"=>{"..."=>"19/12/2012", ....}, ...}...

在 events_controller 的创建操作中,我有:

定义创建
  @event = current_user.events.new(params[:event])
  ……

在这一行中,我收到以下错误:

ActiveRecord::AssociationTypeMismatch (Serie(#134112340) 预期,得到 ActiveSupport::HashWithIndifferentAccess(#92663620))

不确定问题是什么

4

1 回答 1

1

您应该检查这个问题:ActiveRecord::AssociationTypeMismatch 尝试在 Rails 中保存嵌套属性时
我认为你只需要在你的模型中替换attr_accessible :serie为。 在您看来,尝试而不是attr_accessible :serie_attributes
f.fields_for :serie do |serie_f|f.fields_for @event.serie do |serie_f|

于 2012-12-18T20:05:29.677 回答