2012-01-20 14 views
0

ruby​​ on rail 3.1で条件付き更新を行いたいと思っています あなたが来た場所に基づいて、更新後にリダイレクトが行われます。 私の1つの大きなフォームを分割して小さなものに分割しました。そのため、アイデアは正しいサブフォームにリダイレクトされます。更新後の条件付きリダイレクト

例えばフォームから提出することができます。

  • プロファイルの基本は
  • プロフィール詳細を形成し、私が思い付くことができる唯一の事は、アクション名をチェックし、使用することをされて

を形成リダイレクトするしかし、その非常に醜い長いコードと完全には動作しません。これを行うための道は何ですか?

これは私のコントローラの更新アクションです:

def update 

    @profile = Profile.find(params[:id]) 

    respond_to do |format| 

    if @profile.update_attributes(params[:profile]) 
     format.html { redirect_to @profile, notice: 'Profile was successfully updated.' } 
     else 
     format.html { 
      render :action => "edit_basics" 
      # 

     } 
     end 
    end 
    end 

答えて

4

理由だけではなく、必要に応じて各フォームにそれを設定している、その後、フォームでhidden_​​fieldとしてリダイレクト先を渡さない:

redirect_to params[:redirect_location] 

あなたは可能性がありまた、生の文字列をHTMLに公開したくない場合は、手順などを使用してこれを行います。

redirect_to location_for_step(params[:step]) 
+0

w '<%= hidden_​​field_tag:redirect_location、 '/ whatever/url'%>' – maxcobmara