似乎只要路由匹配'somecontrollername#show',它就有一个视图:somecontrollername/show.html,并且控制器是在没有显示操作的情况下定义的,对路由的获取请求会自动呈现显示视图。
有人可以解释这种行为吗?
似乎只要路由匹配'somecontrollername#show',它就有一个视图:somecontrollername/show.html,并且控制器是在没有显示操作的情况下定义的,对路由的获取请求会自动呈现显示视图。
有人可以解释这种行为吗?
您将拥有一个自动路由到模板显示操作的资源路由,如下所示:
resources :applicants # Controller for this resource can automatically serve REST requests
要删除它,请在您的路线中添加except: [:show]
resources :applicants, :except => [:show]
这就是 Rails 的工作方式。如果他们有特定动作的路由,但该动作没有在适当的控制器中实现,他们会尝试以与动作相同的方式呈现模板。如果他们找不到这个模板,他们会抛出一个错误。