我生成了一个脚手架,它制作了一个看起来像这样的控制器(我删除了一些代码,但它仍然有效)。
def create
@post = Post.new(params[:post])
if @post.save
redirect_to @post
end
end
这会导致它重定向到 /posts/ id一切正常。
但我不明白这是如何工作的。@post
是模型类的一个实例,那么它如何知道它应该重定向到哪个控制器和动作?我看不到任何地方明确定义了这种关系(在Post
模型和之间PostsController
)。
我已经尝试在没有脚手架的情况下从头开始复制它,但我收到了关于无法找到url_for
与我定义的模型相关联的错误。即使我确实用resources
in定义了路线routes.rb
。