コメントコントローラでは、作成と破棄の両方の後、記事の表示ページにリダイレクトしています。 だから私はredirect_to
を行うafter_action
と書くことに決めました。after_actionでredirect_toを呼び出すと、なぜ "AbstractController :: DoubleRenderError"が表示されるのですか?
class CommentsController < ApplicationController
before_action :find_article
before_action :find_comment, only: [:destroy]
after_action :goto_articles_page, only: [:create, :destroy]
def create
@comment = @article.comments.create(comment_params)
end
def destroy
@comment.destroy
end
private
def comment_params
params.require(:comment).permit(:commenter, :body)
end
def find_article
@article = Article.find(params[:article_id])
end
def find_comment
@comment = @article.comments.find(params[:id])
end
def goto_articles_page
redirect_to article_path(@article) and return
end
end
しかし、これは作成と破棄の両方後に私にAbstractController::DoubleRenderError
を与えます。
なぜこのエラーが発生しますか?私はreturn
ときrendering
任意のアクションが、ときredirect_to
使用、その後return
を使用する必要はありませんを使用すると、最終的にあなたがand return
Rails guideを削除することができると思い
任意の効果場合はわからないが、goto_articles_page – Maxence
から何を削除したときに起こる 'とreturn'私は両方のケースでエラーを取得し、「付きとなし'とreturn'」 – Sheryl
次の行で 'return'を使って' and return'を変更してみてください。 –