我正在深入研究 RoR,当我浏览教程、脚手架和文档时,我遇到了一些令我困惑的代码。例如,我刚刚阅读了“redirect_to”方法,但我阅读的指南没有涵盖重定向到实例变量的示例,例如在典型脚手架中生成的代码...
# 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 success create.') }
中,代码重定向到实例var article
,这会导致当前 Controller 中的 show
方法“redirect_to”。为什么这会导致它重定向到 show 方法?
非常感谢您的帮助!
最佳答案
为什么这会导致它重定向到 show 方法?
因为如果您不指定特定操作,Rails 会假定您想要“显示”对象。如果您想要采取其他行动,请尝试
redirect_to :action => :do_something, :id => @article
关于ruby-on-rails - 当您在 Ruby on Rails 中对实例变量执行 'redirect_to' 时会发生什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3950304/