Ruby on rails 如何为rails控制器中新创建的方法生成id为的路径
我正在向现有的基于REST的用户控制器添加新方法“editpass” 我想将id传递给editpass方法,edit对edit\u user\u路径执行此操作 我在routes.rb中添加了以下内容Ruby on rails 如何为rails控制器中新创建的方法生成id为的路径,ruby-on-rails,path,routes,Ruby On Rails,Path,Routes,我正在向现有的基于REST的用户控制器添加新方法“editpass” 我想将id传递给editpass方法,edit对edit\u user\u路径执行此操作 我在routes.rb中添加了以下内容 resources :user do collection do get 'editpass' end end 及 rake:routes为editpass生成以下内容: /user/:id/editpass(.:format) {:action=>"ed
resources :user do
collection do
get 'editpass'
end
end
及
rake:routes为editpass生成以下内容:
/user/:id/editpass(.:format) {:action=>"editpass", :controller=>"user"
此路由没有路径名
为rails3中id为的方法生成路径的最佳方法是什么
提前谢谢
森林
match 'user/:id/editpass' => 'user#editpass', :as => 'user_editpass'
这将使用户编辑传递路径(:id=>@user)工作。首先,如果您使用的是
资源,而不是资源,您应该将用户
多元化为用户
,使之更为传统
resources :users do
collection do
get :editpass
end
end
然后您可以使用:
link_to "Edit Pass", [:editpass, :users]
或
同样使用match'user/:id/editpass'=>“user#editpass'
会弄乱你的路线,这绝对是个愚蠢的想法,因为你的对手实际上是成员
,而你将其添加为集合
link_to "Edit Pass", [:editpass, :users]
link_to "Edit Pass", editpass_users_path