2016-12-06 15 views
0

私はRailsアプリケーションにPartyモデルを持っており、フォームを介してそれを更新する必要があります。私のパーティーショービュー(show.html.erb)では、Iで始まる形式があります。form_for指定された動作を呼び出さない

<%= form_for @party, :url => {:action => "update" } do |f|%> 

と私の締約国のコントローラでは、私が持っている:

def update 
@party = Party.find(party_params[:id]) 
if @party.update(party_params) 
    redirect_to 'show' 
else 
    render '_rsvp' 
end 
end 

しかし、この方法のISN」聞こえてくる。私はこれを永遠に見てきました - 私は何が欠けているのですか?

+0

この試してください: '<%=のform_for @party、:URL => {:アクション=> "更新"}、メソッド:やる置く|%>' | Fは – dp7

答えて

0

あなたはrails/partiesまたは/parties/:idに投稿するかどうかを把握する@party.new_record?を使用するようform_forヘルパーを使用した場合urlを指定する必要はありません。 createupdateの両方のアクションでは、フォームをレンダリングするアクションで@partyを適切に設定する必要があります。

<%= form_for @party do |f|%> 
    <!-- fields --> 
<% end %> 

これを例として説明するform_forヘルパーのドキュメントを読むことをおすすめします。

http://api.rubyonrails.org/classes/ActionView/Helpers/FormHelper.html

関連する問題