2
我如何想,重定向到不同路徑後create
行動給出如果previous_page是../reader/new
去../reader/blog/:id
,而如果previous_page是../editor/new
去../editor/blog/:id
。
釋:
我想修改控制器動作,以便它可以重定向到這取決於頁它來自不同的路徑。例如,我有一個reader
,editor
和blog
模型。 reader
和editor
都可以創建一個blog
。
原來這裏是blogs_controller
:
class BlogsController < ApplicationsController
def create
@blog = Blog.new(blog_params)
respond_to do |format|
if @blog.save
format.html { redirect_to @blog }
else
format.html { render :new }
end
end
end
private
def blog_params
params.require(:service).permit(:title, :content)
end
end
謝謝你,你的第一個和第二個選項的伎倆。但我無法理解最後的選擇。如何傳遞參數[:redirect_to]?你把它放在controller' create'動作中嗎? –
對不起,我的意思是'params [:redirect_to [',讓我進一步解釋。例如,我假設你在'reader/new'動作中有一個表單。然後,您可以爲此表單添加一個隱藏字段並將其設置爲所需重定向的符號值,例如'hidden_field_tag:redirect_to,「reader」'。然後,這個參數將作爲'params [:redirect_to]'傳遞給create動作,控制器的'create'動作可以對這個參數作出反應並重定向到所需的閱讀器頁面。我在答案中修正了錯字。 – BoraMa