私はRails v2.3.2を使用しています。'params'を使ってインスタンスを更新するのは簡単なことです
の場合:
params[:car]={"name"=>"mycar", "brand"=>"toyota"}
私はで@car
インスタンスをUDPATEしようとした:
@car.update_attributes(params[:car])
しかし@car
は更新されません。
なぜこのように更新できないのですか?は、私は次のように提出された各指定により@car
を更新する必要があります:
@car.update_attributes(:name=>params[:car][:name], :brand=>params[:car][:brand])
の代わりparams[:car]
と更新を:
@car.update_attributes(params[:car])
誰もが私に説明できますか?
P.S.params
は次のとおりです。
{"commit"=>"Save", "authenticity_token"=>"w/d2uI/2tK9vSZvtF9oQDjY5iBPL8fji33IZcpm9cY0=", "_method"=>"put", "action"=>"update", "id"=>"4", "controller"=>"cars", "car"=>{"name"=>"mycar", "brand"=>"toyota"}
基本的にあなたのやっていることは正しいですか、あなたはthet params [] hashを投稿してください。 – davidb
@ davidb、私は私のポストを更新しました。見てください。 –
これは通常、@ carに検証エラーがあることを意味しますか? '@ car.errors'は何も表示していますか? –