0
レールを学ぶために、自分で作成したredditを書き始めました。現在、私は私のコメントのルートのような私のポストのルート内にネストされてい:私のコメントコントローラの場合ネストされたルートのページをレンダリングするには
resources :posts do
resources :comments
end
を、インデックス&の下で、私は最後の部分を除いて、うまく機能
def index
@post = Post.find(params[:post_id])
@comments = @post.comments
if params[:comment].nil?
@comment = Comment.new
@comment.post_id = @post.id
else
@comment = Comment.find([:comment])
end
end
def create
@comment = Comment.new(comment_params)
@comment.user_id = current_user.id
@comment.post_id = params[:post_id]
if @comment.save
#flash
redirect_to post_path(@comment.post)
else
#flash
render 'index'
end
end
次持って作成:render
私のコメントを他のコメントと同じページに表示する(redditのように)ので、代わりにwww.example.com/post/4/comment/newパスを使用することをお勧めしますwww.example.com/post/4/commentsパスを使用します。
私はリダイレクトを行うことができますが、ユーザーが修正できるようにコメントテキストを残したいと思います。セッション変数にテキストを入れてリダイレクトするのではなく、レンダリングでこれを正しく行う方法はありますか?私はこれが最悪のケースだと理解していますが、これを学習の機会として使用しようとしています。