我是Ruby on Rails的初学者,想要了解如何将redirect_to变为实例变量。
def create
@article = Article.new(params[:article])
@article.save
redirect_to @article
end
redirect_to @article意味着什么?
答案 0 :(得分:3)
它重定向(通过位于url_for
的Rails魔法,如果我没记错的话)到文章的show
页面。
答案 1 :(得分:2)
这意味着
article /articles/:id article#show
它会将你重定向到文章的show动作,通过执行rake路径检查路线
请注意文章GET / articles /:id文章#show - 当你执行redirect_to(@article)时会匹配
还阅读了http://api.rubyonrails.org/classes/ActionController/Redirecting.html
答案 2 :(得分:0)
<强>资源强>
通过阅读Rails提供的resourceful routing可以更好地理解这个问题:
相反,由于Rails是面向对象/资源的,所以你运行的每个方法/函数都是基于资源的,所以这只是这个想法的扩展。
-
当您使用redirect_to
或render
之类的对象时,Rails可以使用对象&amp;拉下相应的路线。
基本上,如果你有一个@article
对象,Rails会发现它是从Article
模型构建的,因此会寻找Articles
控制器&amp; show
方法,用于在页面上显示单个资源。
希望这有帮助吗?