0

似乎只要路由匹配'somecontrollername#show',它就有一个视图:somecontrollername/show.html,并且控制器是在没有显示操作的情况下定义的,对路由的获取请求会自动呈现显示视图。

有人可以解释这种行为吗?

4

2 回答 2

1

您将拥有一个自动路由到模板显示操作的资源路由,如下所示:

resources :applicants # Controller for this resource can automatically serve REST requests

要删除它,请在您的路线中添加except: [:show]

resources :applicants, :except => [:show] 
于 2013-10-09T22:51:20.083 回答
1

这就是 Rails 的工作方式。如果他们有特定动作的路由,但该动作没有在适当的控制器中实现,他们会尝试以与动作相同的方式呈现模板。如果他们找不到这个模板,他们会抛出一个错误。

于 2013-10-09T22:53:32.313 回答