Ruby on rails 在Rails 3中重用自定义RESTful路由的名称
我想做一件我想象中的事情:Ruby on rails 在Rails 3中重用自定义RESTful路由的名称,ruby-on-rails,ruby-on-rails-3,Ruby On Rails,Ruby On Rails 3,我想做一件我想象中的事情: resources :users do collection do get 'login', :action => 'login_form' post 'login', :action => 'login' get 'logout' end end 也就是说,我希望两个控制器动作用不同的方法绑定到同一路径。我该怎么做?您应该阅读有关路线的指南: login\u表单操作听起来不是很安静。只是说;) 您需要在第一个匹配项上指
resources :users do
collection do
get 'login', :action => 'login_form'
post 'login', :action => 'login'
get 'logout'
end
end
也就是说,我希望两个控制器动作用不同的方法绑定到同一路径。我该怎么做?您应该阅读有关路线的指南:
login\u表单
操作听起来不是很安静。只是说;) 您需要在第一个匹配项上指定get,否则它将同时匹配get和post,并且您将永远不会到达第二个路径。那么,我如何使它更加restful呢?:)@railsdog:噢,我认为match的默认值是get
,而不是get
和post
。@AlexeiAverchenko:嗯,这取决于你到底想做什么。但是你可以制作一个会话控制器,用户的登录表单动作就是会话新动作(就像Desive一样)。很有趣。。。谢谢你的提示!
resources :users do
collection do
match 'login' => "users#login_form", via: :get
post 'login'
get 'logout'
end
end