Ruby on rails 3 有休息路线的行动
我有用户控制器的路由:Ruby on rails 3 有休息路线的行动,ruby-on-rails-3,routes,Ruby On Rails 3,Routes,我有用户控制器的路由: get 'users/get_my_rating' get 'users/recover_password' get 'users/get_last_comments' post 'users/update_rating' resources :users do member do get 'about' get 'comments' get 'friends' end end 如何将cre
get 'users/get_my_rating'
get 'users/recover_password'
get 'users/get_last_comments'
post 'users/update_rating'
resources :users do
member do
get 'about'
get 'comments'
get 'friends'
end
end
- 如何将
REST操作重新映射到create
注册
- 如何将前3条规则放到
阻止资源:用户
signup_url
用于代码中
如何将前3条规则放入资源:用户块?
不完全确定你在这里的意思,但是
resources :users do
member do
get 'about'
get 'comments'
get 'friends'
end
collection do
get 'get_my_rating' # => UsersController get_my_rating
get 'recover_password' # => UsersController recover_password
get 'get_last_comments' # => UsersController get_last_comments
post 'update_rating' # => UsersController update_rating
end
end
导致
get_my_rating_users GET /users/get_my_rating(.:format) {:action=>"get_my_rating", :controller=>"users"}
recover_password_users GET /users/recover_password(.:format) {:action=>"recover_password", :controller=>"users"}
get_last_comments_users GET /users/get_last_comments(.:format) {:action=>"get_last_comments", :controller=>"users"}
update_rating_users POST /users/update_rating(.:format) {:action=>"update_rating", :controller=>"users"}
如何将创建REST操作重新映射到注册?
给你
signup_url
用于代码中
如何将前3条规则放入资源:用户块?
不完全确定你在这里的意思,但是
resources :users do
member do
get 'about'
get 'comments'
get 'friends'
end
collection do
get 'get_my_rating' # => UsersController get_my_rating
get 'recover_password' # => UsersController recover_password
get 'get_last_comments' # => UsersController get_last_comments
post 'update_rating' # => UsersController update_rating
end
end
导致
get_my_rating_users GET /users/get_my_rating(.:format) {:action=>"get_my_rating", :controller=>"users"}
recover_password_users GET /users/recover_password(.:format) {:action=>"recover_password", :controller=>"users"}
get_last_comments_users GET /users/get_last_comments(.:format) {:action=>"get_last_comments", :controller=>"users"}
update_rating_users POST /users/update_rating(.:format) {:action=>"update_rating", :controller=>"users"}
要集成前3条路线,请执行以下操作:
resources :users do
member do
get 'about'
get 'comments'
get 'friends'
end
collection do
get 'get_my_rating'
get 'recover_password'
get 'get_last_comments'
end
end
此外,您还可以向各种成员和集合规则添加:as=>“name_here”,以生成*\u url和*\u路径帮助程序。查看rake routes
查找路由名称等
要覆盖REST创建的位置,请执行以下操作:
match '/users' => 'users#signup', :as => 'signup', :via => :post
请确保将此放置在参考资料之前:用户填充,因为rails尝试从上到下查找路径,并与第一个匹配匹配
还有一些要考虑的事情:从“用户/GETHyMyLead”(以及下面的2个)的名称来看,听起来这些都是比集合方法更多的成员方法,所以我会考虑将这些移动到成员块中,而不是将它们放在集合块中。只需2美分。
要整合前3条路线,请执行以下操作:resources :users do
member do
get 'about'
get 'comments'
get 'friends'
end
collection do
get 'get_my_rating'
get 'recover_password'
get 'get_last_comments'
end
end
此外,您还可以向各种成员和集合规则添加:as=>“name_here”,以生成*\u url和*\u路径帮助程序。查看rake routes
查找路由名称等
要覆盖REST创建的位置,请执行以下操作:
match '/users' => 'users#signup', :as => 'signup', :via => :post
请确保将此放置在参考资料之前:用户填充,因为rails尝试从上到下查找路径,并与第一个匹配匹配
还有一些要考虑的事情:从“用户/GETHyMyLead”(以及下面的2个)的名称来看,听起来这些都是比集合方法更多的成员方法,所以我会考虑将这些移动到成员块中,而不是将它们放在集合块中。只有我的2美分。
关于如何处理第二个问题的其他答案非常好,但是将创建
操作重新映射为注册
的最佳方法是使用该选项
在这种情况下,它应该类似于:
resources :users, :path_names => { :create => "signup" } do
# All your other routing
end
但是,需要注意的是,create
操作的URL从未显示给用户……create URL是通过new
操作创建的表单发布到的。用户将看到的URL是new
操作的URL
因此,您可能需要执行以下操作:
resources :users, :path_names => { :new => "signup" } do
# All your other routing
end
关于如何处理第二个问题的其他答案非常好,但是将
创建
操作重新映射为注册
的最佳方法是使用该选项
在这种情况下,它应该类似于:
resources :users, :path_names => { :create => "signup" } do
# All your other routing
end
但是,需要注意的是,create
操作的URL从未显示给用户……create URL是通过new
操作创建的表单发布到的。用户将看到的URL是new
操作的URL
因此,您可能需要执行以下操作:
resources :users, :path_names => { :new => "signup" } do
# All your other routing
end