0
我有一種情況存在:軌道重定向到動作不正確的URL
resources :magazines do
resources :articles do
resources :comments
end
end
從而避免嵌套超過2層深我已經重新分解這是:
resources :magazines do
resources :articles
end
resources :articles do
resources :comments
end
我的文章顯示操作URL爲: /雜誌/ 3/articles/11
在此視圖中,我有一個用於創建新評論的表單。
評論成功保存後,表單重定向,所有的表現都很好。
當表單提交不成功時,我希望重新顯示顯示驗證錯誤的視圖。我明白正確的做法是呈現'articles/show'視圖。這也適用,並且顯示的驗證錯誤重新顯示視圖。
問題是,當保存失敗和文章/節目呈現的URL不再是正確的,並表現爲: /文章/ 11 /評論
class ArticlesController < ApplicationController
def show
@article = Article.find(params[:id])
@comments = @article.comments.order(created_at: :asc).page(params[:page]).per_page(5)
@comment = Comment.new
end
end
class CommentsController < ApplicationController
def create
@article = Article.find(params[:id])
@comment = @article.comments.new(discussion_params)
@comment.user_id = current_user.id
if @comment.save
redirect_to @article
else
render 'articles/show'
end
end
private
def discussion_params
params.require(:comment).permit(:content)
end
end