这可能是一个简单的问题。我正在阅读rubyonrails.org(http://guides.rubyonrails.org/form_helpers.html)上的表单助手指南。在7.3节中,它展示了如何创建一个返回params哈希的表单,如下所示:
{'person' => {'name' => 'Bob', 'address' => {'23' => {'city' => 'Paris'}, '45' => {'city' => 'London'}}}}
Bob在哈希中有2个地址。那么在控制器中为了同时更新Bob的两个地址呢?
感谢。
更新:
这是我假设模型看起来像的样子,但我仍然不知道控制器应该是什么样的同时更新Bob的两个地址。
person.rb
attr_accessible :name, :addresses_attributes
has_many :addresses
accepts_nested_attributes_for :addresses
address.rb
attr_accessible :city
belongs_to :person
谢谢。
答案 0 :(得分:0)
传统上,我建议尝试以下方法:
def update
@person = Person.find(params[:id])
if @person.update_attributes(parmas[:person])
#update successful, now do what you wanna do
else
#update was unsuccessful
end
end
尝试此操作,如果您收到任何错误,请回来。但这可能不是学习东西的正确方法。您应该按照Getting Started和后续教程进行操作。