Ruby on rails &引用;NoMethodError(在传递嵌套属性时,未定义的方法`具有“无关”访问权&“x27;for…”

Ruby on rails &引用;NoMethodError(在传递嵌套属性时,未定义的方法`具有“无关”访问权&“x27;for…”,ruby-on-rails,activerecord,Ruby On Rails,Activerecord,我在谷歌上搜索了一段时间,但运气不好。在传递嵌套属性时,我的web服务出现了“NoMethodError(未定义的方法`with_interference_access')”错误 其他嵌套的工作,他们是一对一,但这是一对多 class Customer < ActiveRecord::Base belongs_to :quote has_one :policy, :dependent => :destroy has_one :vehicle, :dependent =

我在谷歌上搜索了一段时间,但运气不好。在传递嵌套属性时,我的web服务出现了“NoMethodError(未定义的方法`with_interference_access')”错误

其他嵌套的工作,他们是一对一,但这是一对多

class Customer < ActiveRecord::Base

  belongs_to :quote

  has_one :policy, :dependent => :destroy
  has_one :vehicle, :dependent => :destroy
  has_many :claims, :dependent => :destroy
  has_many :incidents, :dependent => :destroy

  accepts_nested_attributes_for :policy
  accepts_nested_attributes_for :vehicle
  accepts_nested_attributes_for :incidents
end
但是,当添加

"incidents_attributes"=>{"date_of_incident"=>"2008-05-19", "sum_of_claim"=>"34554", "description"=>"PLEASE!"},
它导致

NoMethodError (undefined method `with_indifferent_access' for "2008-05-19":String):
删除事件的日期,它只会对下一个属性发出相同的抱怨


以前我有“事件属性”(singular incident)和“许多:事件”,但更改此属性没有帮助。

因为客户有许多事件,Rails希望“事件属性”是一个数组,而不是散列。当您:

<%= form_for @customer do |f| %>
  <%= f.fields_for :incidents do |incident_fields| %>
    <%= incident_fields.date_select :date_of_incident %>
  <% end %>
<% end %>


由于表单位于另一个项目中,(使用活动资源),我无法开始工作。因此,我没有手动编写“事件属性”+1,而是遇到了一个问题,我必须将哈希对象插入到一对多关系中:
…[:addresses\u attributes]=params[:address]
相反,这是有效的:
…[:addresses\u attributes]={“0”=>params[:address]}
我也遇到了类似的问题。但是对于has\u多个关联,它对我来说效果很好。但是对于has\u one关联,它会给出相同的错误。你能告诉我如何访问has\u one关联吗?
<%= form_for @customer do |f| %>
  <%= f.fields_for :incidents do |incident_fields| %>
    <%= incident_fields.date_select :date_of_incident %>
  <% end %>
<% end %>