0

これはおそらく簡単な質問です。rubyonrails.org(http://guides.rubyonrails.org/form_helpers.html)のフォームヘルパーガイドを読んでいます。セクション7.3では、次のようなパラメータのハッシュを返すフォームを作成する方法を示しています。

 {'person' => {'name' => 'Bob', 'address' => {'23' => {'city' => 'Paris'}, '45' => {'city' => 'London'}}}}

ボブはハッシュに2つのアドレスを持っています。では、ボブの両方のアドレスを同時に更新するために、コントローラーには何が入りますか?

ありがとう。

アップデート:

モデルは次のようになりますが、ボブの両方のアドレスを同時に更新するためにコントローラーがどのように表示されるかはまだわかりません。

person.rb

attr_accessible :name, :addresses_attributes 

has_many :addresses
accepts_nested_attributes_for :addresses

address.rb

attr_accessible :city

belongs_to :person

ありがとうございました。

4

1 に答える 1

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

これを試して、エラーが発生した場合は元に戻してください。しかし、これはおそらく物事を学ぶための正しい方法ではありません。入門以降のチュートリアルに従う必要があります。

于 2012-11-07T19:36:34.327 に答える