我正在深入研究RoR,当我浏览教程,脚手架和文档时,我遇到了一些令我困惑的代码。例如,我刚刚阅读了'redirect_to'方法,但我读到的指南并没有涵盖重定向到实例var的示例,例如在典型的脚手架中生成的代码......
# POST /articles
# POST /articles.xml
def create
@article = Article.new(params[:article])
respond_to do |format|
if @article.save
format.html { redirect_to(@article, :notice => 'Article was successfully created.') }
format.xml { render :xml => @article, :status => :created, :location => @article }
else
format.html { render :action => "new" }
format.xml { render :xml => @article.errors, :status => :unprocessable_entity }
end
end
end
在语句format.html { redirect_to(@article, :notice => 'Article was successfully created.') }
中,代码重定向到实例var article
,这会导致当前控制器中的{redirect_to'show
方法。为什么这会导致它重定向到show方法?
非常感谢你的帮助!
答案 0 :(得分:3)
为什么这会导致它重定向到show方法?
因为如果你没有指定特定的动作,Rails假定你想要'显示'对象。如果您还有其他行动,请尝试
redirect_to :action => :do_something, :id => @article