对于Rails,总有一定程度的黑魔法,我找不到文档来帮助我找出这个。 redirect_to的作用显然是直截了当的。事实上,这个问题甚至没有直接关联,但我看到的一个论点经常传递给redirect_to,并且无法理解该论证的来源。例如,如果你构建一个新对象,让我们说'user',你会在user_controller.rb中看到这样的代码:
def destroy
@user = User.find(params[:id])
@user.destroy
respond_to do |format|
format.html { redirect_to(users_url) }
format.xml { head :ok }
end
end
问题是,这里的users_url究竟是什么?它从何而来?就文档而言,有人能指出我正确的方向吗?
答案 0 :(得分:3)
如果使用基于资源的路由,Rails会自动生成许多命名路由。您可以通过运行rake routes
来查看这些内容。其他示例包括edit_user, user
和new_user
。通过将_url
附加到该名称,该名称将被解析为匹配的URL。并且url是redirect_to需要的。
答案 1 :(得分:1)
在这种情况下,users_url
是查看用户的完整URL路径。这是由Rails action_dispatch根据您的域对象自动生成的。如果您对此文档感兴趣,可以阅读from here。
HTH