Ruby on rails 3 Rails 3:新操作的路径问题

Ruby on rails 3 Rails 3:新操作的路径问题,ruby-on-rails-3,routes,Ruby On Rails 3,Routes,我对rails 3路线有问题 我想添加一个名为“gestion\u etudiant”的新操作,并添加一个新视图“gestion\u etudiant.html.erb” 我的索引页上有这样一个链接 <%= link_to "Administration", {:controller => "users", :action => "gestion_etudiant"} %> 但当我在链接上点击时,我总是会出现以下错误: ActiveRecord::RecordNotFo

我对rails 3路线有问题

我想添加一个名为“gestion\u etudiant”的新操作,并添加一个新视图“gestion\u etudiant.html.erb”

我的索引页上有这样一个链接

<%= link_to "Administration", {:controller => "users", :action => "gestion_etudiant"} %>
但当我在链接上点击时,我总是会出现以下错误:

ActiveRecord::RecordNotFound in UsersController#show
Couldn't find User with ID=gestion_etudiant
我的路由文件中有以下内容:

resources :users
我还试图补充:

match "users/gestion_etudiant", :to => "users#gestion_etudiant"

但我无法访问我的页面“gestion_etudiant.html.erb”。有人能提出原因吗?

试试这个:

# router:

resources :users do
  get :gestion_etudiant, :on => :collection
end

# view:

link_to "Administration", gestion_etudiant_users_path

# Controller

def gestion_etudiant
  @users = User.all # Don't use find with :all as it will be deprecated in rails 3.1
end
在您的路线中,请尝试:

resources :users do
  collection do
    get 'gestion_etudiant'
  end
end

您可以通过运行
rake routes

Thx查看应用程序中的路由,以获得响应。错误已消失:)。但是现在当我点击链接时,我被重定向到索引(页面只是刷新)。我不知道为什么。当我把光标放在链接上时,我有一个“但是它不会工作。。。
resources :users, :only => [:gestion_etudiant]
# router:

resources :users do
  get :gestion_etudiant, :on => :collection
end

# view:

link_to "Administration", gestion_etudiant_users_path

# Controller

def gestion_etudiant
  @users = User.all # Don't use find with :all as it will be deprecated in rails 3.1
end
resources :users do
  collection do
    get 'gestion_etudiant'
  end
end