2011-06-29 68 views
2

記事/ショーページにコメントフォームがあります。このページでは、記事を表示し、コメントフォームを持っています。フォームを送信したページで検証エラーを表示するにはどうすればよいですか?

検証エラーのあるコメントを送信するときは、article/showページに戻ってエラーを表示する必要があります。

render :action => 'new'を別のものに変更する必要がありますか?コメントコントローラで

、私が試した:

def create 
    ... 

    if @comment.save? 
     redirect_to article_path(@comment.article), :notice => "Posted comment!" 
    else 
     # render :action => 'new' 
     render 'articles/show" 
    end 
    end 

をしかし、これはアプリはIDに基づいて、表示する記事分からないだろうから、文句を言うでしょう。

編集:私はthis溶液を見つけました。アプローチは、セッションを使用してエラーを渡すことです。これはこれと一緒に行く正しい方法ですか?

答えて

4

ははるかに記述的応答のために、この

def create 
    ... 

    if @comment.save? 
     redirect_to article_path(@comment.article), :notice => "Posted comment!" 
    else 
     # render :action => 'new' 
     @article = @comment.article 
     render 'articles/show" 
    end 
    end` 
+0

おかげPravinを試してみてください。 http://stackoverflow.com/questions/5175385/where-to-render-comments-controller-in-rails-on-model-validations-failureも同様の解決策を提示しているようです。 –

0

したがって、には、IDに基づいて表示する記事が分かります。

関連する問題