假设我们创建了一个新的控制器,其中包含一个执行操作的操作,并呈现了一个view.We,添加了一个通过插件文件的路由,我检查了通过rake route找到的路由,如下所示
分区GET /register/vip_ register_vip_section (.:format) vip_section#index
控制器看起来像这样:
类VipSectionController < ApplicationController
定义索引...结束
结束
但是,当我尝试调用get调用相同的时:
http://localhost:3000/register/vip_section
它不是work.It提出的:
Started GET "/404-body?_=1489209463400" for 127.0.0.1 at 2017-03-11 10:47:46 +0530
I, [2017-03-11T10:47:47.051542 #19641] INFO -- : Processing by ExceptionsController#not_found_body as HTML
I, [2017-03-11T10:47:47.054589 #19641] INFO -- : Parameters: {"_"=>"1489209463400"}
D, [2017-03-11T10:47:47.062975 #19641] DEBUG -- : User Load (3.2ms) SELECT "users"
发布于 2017-03-11 18:06:00
来自rake routes
的路由的格式表明,当您执行以下调用时,它将查找具有vip_section
操作的RegisterController
:http://localhost:3000/register/vip_section
-或者--
对于您所描述的控制器,您需要在路由中使用类似以下内容的路由:
resources :register do
get 'vip_section', on: :collection
end
编辑:正如我前面所说的,对于您提到的路径,您的控制器应该称为RegisterController
,并具有一个名为vip_section
的操作,如下所示
class RegisterController < ApplicationController
def vip_section
end
end
在此路由路径中:http://localhost:3000/register/vip_section
路径的第一部分用于controller
,路径的第二部分用于action
方法
EDIT2:我看到您已经将vip_section#index
添加到您提到的路径中。通常将控制器命名为复数形式。请尝试将控制器命名为VipSectionsController
https://stackoverflow.com/questions/42731856
复制相似问题