2011-09-16 1 views
1

記事/コメントコントローラがあります。ユーザーがコメントを送信してログインしていないときに、セッションに保存する必要があります。成功したログインの後、私は保存されたコメントを作成したい。ログイン後にコメントとポストを保存する

これを行うにはどのような方法が最適ですか?

btw:ネストされたルートがあります。記事=>は、これまで

コメント私が得た:

class CommentsController < ApplicationController 
     def create 
     if current_user 
     create... 
     else 
     session[:comment] = params 
     redirect_to login_path 
     end 
    end 

答えて

1

予備注:

代わりに、それははるかに良い習慣です(そして、より理にかなっている)でコメントを作成するために、ハッシュのparamsを保存しますパブリッシュされた状態ではなく、セッションにIDを格納します。

ユーザーを認証するために行くと、認証が有効であるときは、単に別の方法として、あなたも彼らの未発表のコメント(のキューにユーザーをリダイレクトすることができ

comment = Comment.find(session[:comment]) 
comment.update_attribute(:published, true) 

のようなものを使用して公開されるようにそのコメントを切り替えることができますダッシュボードページなどにリダイレクトされている可能性があります)。

関連する問題