我有一个项目控制器/模型。我没有在#index页面上列出项目,而是显示了一个下拉列表,它提交给项目#select,它找到正确的项目(我确定每个选项组合只能有1个),并转发用户加入该项目的#show页面。在Rails 3路径中重命名路径助手
所以我的路我做到这一点...
resources :projects, :only => [:index, :show] do
collection do
get 'select'
end
end
而且多数民众赞成罚款,但对于#选择辅助方法是“select_projects”,这是可以理解的,但在我的情况我真的想“select_project” 。而我真的不想在别的文件中加入别名。没问题我可以用:as ...
resources :projects, :only => [:index, :show] do
collection do
get 'select', :as => 'select_project'
end
end
但是现在我的帮手是'select_project_projects'。所以,我骗了一点(而不是在其他文件中走样仍然好)......
resources :projects, :only => [:index, :show]
match '/projects/select', :to => 'projects#select', :as => 'select_project'
这看起来似乎是工作,但它并没有因为/项目/实际选择匹配的路由为“项目#秀”。改变线条的顺序是有用的。
match '/projects/select', :to => 'projects#select', :as => 'select_project'
resources :projects, :only => [:index, :show]
但是,有没有更好的处理方式?我意识到这是边界强迫症,但我希望能够完全控制资源块内的路由名称。
没有一个成员的路由在URL需要一个ID ?它应该路由到/ projects/select not/projects/1/select – LeroyJ 2010-11-23 02:07:15