我遇到有关rails 3路线的问题。
我想添加一个名为“gestion_etudiant”的新动作,其中包含一个新视图“gestion_etudiant.html.erb”。
我的索引页面上有这样的链接
<%= link_to "Administration", {:controller => "users", :action => "gestion_etudiant"} %>
我也试试这个:
<%= link_to "Administration", "/users/gestion_etudiant" %>
在我的控制器中:
def gestion_etudiant
@users = User.find(:all)
end
但是当我点击链接时,我总是有这个错误:
ActiveRecord::RecordNotFound in UsersController#show
Couldn't find User with ID=gestion_etudiant
我在路线文件中有这个:
resources :users
我还尝试添加:
match "users/gestion_etudiant", :to => "users#gestion_etudiant"
和
resources :users, :only => [:gestion_etudiant]
但我无法访问我的网页“gestion_etudiant.html.erb”。任何人都可以提出原因吗?
答案 0 :(得分:2)
试试这个:
# 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
答案 1 :(得分:1)
在您的路线中,请尝试:
resources :users do
collection do
get 'gestion_etudiant'
end
end
您可以通过运行rake routes