Ruby on rails 没有路由匹配错误。这个代码有什么问题?
我是rails新手,尝试在控制器上添加新方法时出错:(Ruby on rails 没有路由匹配错误。这个代码有什么问题?,ruby-on-rails,ruby-on-rails-3,rails-routing,Ruby On Rails,Ruby On Rails 3,Rails Routing,我是rails新手,尝试在控制器上添加新方法时出错:( 我有一个管理员路径下的控制器 Admin::MyUsersController < ApplicationController before_filter :...... def index redirect_to :action => :show_my_action end def show_my_action ... ... end 当my routes.rb是这样时,我得到的错误=>没有路由匹配{:act
我有一个管理员路径下的控制器
Admin::MyUsersController < ApplicationController
before_filter :......
def index
redirect_to :action => :show_my_action
end
def show_my_action
...
...
end
当my routes.rb是这样时,我得到的错误=>没有路由匹配{:action=>“show_my_action”,:controller=>“admin/my_users”}当my routes.rb像这样时,则没有错误:S
为什么我会遇到此错误。我可以对根路径上的其他控制器使用第一个声明。您需要指定该操作是在成员上还是在集合上。如果是在成员上,则您的URL是
admin/my\u users/:id/show\u my\u action
。如果是在集合上,则是admin/my\u users/show\u my\u action
。请阅读在此处添加:您正在向RESTful操作添加操作,如果您未指定集合或成员,则路由无法知道您需要什么。如果您这样定义:
namespace "admin" do
resources :my_users do
get "show_my_action"
end
end
routes如何知道您想要的路线:
my_users/show_my_action, or my_users/:id/show_my_action
因此,您需要指定其成员或集合:
namespace "admin" do
resources :my_users do
get "show_my_action", :on => :collection
end
end
将有路由:my\u users/show\u my\u action
,以及:
namespace "admin" do
resources :my_users do
get "show_my_action", :on => :member
end
en
将有路由:my\u users/:id/show\u my\u action
你可以在
namespace "admin" do
resources :my_users do
get "show_my_action", :on => :collection
end
end
namespace "admin" do
resources :my_users do
get "show_my_action", :on => :member
end
en