2011-12-17 17 views
0

これはおそらくかなり簡単なことです - 私は様々な投稿を表示するニュースフィードを持つサイトを持っています。同様に投稿を表示する他のページもあります。コメントはこれらのページから直接これらの投稿に追加できます。コメントを追加した後、ユーザーを投稿に戻す

私がしなければならないことは、ユーザーが元のURLに戻って、コメントを追加した後、ユーザーがコメントした特定の投稿(各投稿のIDはpost-#{post.id}です。 #post-2などをURLに貼り付けておく必要があります。

何らかの理由で投稿を保存できなかった場合は、ユーザーが投稿したコンテンツをコメントボックスにあらかじめ入力しておきたいリダイレクト

私はこれらの2つのことをどうやって行うことができますか?最初のものはもっと重要です。 私はセッション中に新しいaのURLを保存する必要がありますctionを作成し、作成アクションでこれにリダイレクトしますか?どうすればURLを入手できますか?

私はRails 3.1を途中で利用しています。

ありがとうございました!コメントを想定し

答えて

1

あなたはredirect :backを使用することができ、要求を発行したページに戻って、ユーザが送信されます

redirect_to :back 
+0

ありがとうございます。私は正確に私が[ここ](http://stackoverflow.com/questions/2139996/ruby-on-rails-redirect-toback)がほしいと思ったが、それはそれに非常に近い:) –

1

は、あなたのルーティングにポストの下にネストされたリソースである(/ポスト/ 123 /コメント/新):

def create 
    comment = Comment.new(params[:comment]) 
    if comment.save 
    redirect_to post_path(comment.post) 
    else 
    redirect_to new_post_comment_path(params) 
    # or maybe you have the comment form on the Post#show page 
    # redirect_to post_path(params) 
    end 
end 
+0

投稿パスにリダイレクトしたくありません。代わりに、ユーザーがコメントしたページにリダイレクトする必要があります。他のどのページにもなる可能性があります。 –