0

假设我们创建了一个新的控制器,其中包含一个执行操作和渲染视图的操作。我们通过插件文件添加了一个路由,我检查了通过 rake 路由找到的路由为

register_vip_section GET /register/vip_section(.:format) vip_section#index

控制器看起来像:

类 VipSectionController < 应用控制器

def 索引 ... 结束

结尾

但是当我尝试拨打与以下相同的电话时:

http://localhost:3000/register/vip_section

它不起作用。它正在提高:

 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"
4

1 回答 1

0

您的路线的格式rake routes表明它会在您拨打电话时寻找RegisterController带有操作的:vip_sectionhttp://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

于 2017-03-11T10:05:59.640 回答