Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/flash/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 没有路由匹配错误。这个代码有什么问题?_Ruby On Rails_Ruby On Rails 3_Rails Routing - Fatal编程技术网

Ruby on 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

我是rails新手,尝试在控制器上添加新方法时出错:(
我有一个管理员路径下的控制器

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