好的,我有这两个班级
class Interface < ActiveRecord::Base
belongs_to :hardware
end
和
class Hardware < ActiveRecord::Base
has_many :interfaces
end
我有一个预定义 @ hardware.interfaces 的表单,其中包含接口数组,其处理方式如下所示
<%= text_field_tag "hardware[interfaces][][name]",interface.name %>
<%= text_field_tag "hardware[interfaces][][ip]",interface.ip %>
现在我尝试做...
@hardware = Hardware.find(params[:id])
@hardware.update_attributes(params[:hardware])
并抛出错误
Interface(#37298420) expected, got HashWithIndifferentAccess(#24204840)
有人能告诉我发生了什么事吗?以及如何解决这个问题?
答案 0 :(得分:2)
update_attributes更新模型属性..并且您正在尝试更新其他模型属性(Interface类)
你想使用嵌套的形式&amp; accepts_nested_attributes_for - 您可以在此guide
中查看