Clearance定义了以下管线:routes.rb
但我想指定我自己的路由:
match 'login' => 'clearance/sessions#new', :as => 'sign_in'
match 'logout' => 'clearance/sessions#destroy', :via => :delete, :as => 'sign_out'‘'rake routes’提供了:
sign_in /login(.:format) {:action=>"new", :controller=>"clearance/sessions"}
sign_out DELETE /logout(.:format) {:action=>"destroy", :controller=>"clearance/sessions"}而且(我不想要这些):
passwords POST /passwords(.:format) {:action=>"create", :controller=>"clearance/passwords"}
new_password GET /passwords/new(.:format) {:action=>"new", :controller=>"clearance/passwords"}
session POST /session(.:format) {:action=>"create", :controller=>"clearance/sessions"}
new_session GET /session/new(.:format) {:action=>"new", :controller=>"clearance/sessions"}
DELETE /session(.:format) {:action=>"destroy", :controller=>"clearance/sessions"}
user_password POST /users/:user_id/password(.:format) {:action=>"create", :controller=>"clearance/passwords"}
edit_user_password GET /users/:user_id/password/edit(.:format) {:action=>"edit", :controller=>"clearance/passwords"}
PUT /users/:user_id/password(.:format) {:action=>"update", :controller=>"clearance/passwords"}
users POST /users(.:format) {:action=>"create", :controller=>"clearance/users"}
new_user GET /users/new(.:format) {:action=>"new", :controller=>"clearance/users"}
sign_up /sign_up(.:format) {:action=>"new", :controller=>"clearance/users"}
sign_in /sign_in(.:format) {:action=>"new", :controller=>"clearance/sessions"}
sign_out DELETE /sign_out(.:format) {:action=>"destroy", :controller=>"clearance/sessions"}如何删除由Clearance生成的默认管线?
clearance (0.10.3.2)、rails (3.0.6)、ruby (1.9.2p180)
发布于 2011-06-16 15:54:22
我通过卖宝石解决了这个问题。如中所述:How do I vendorize gems for Rails3/Bundler
首先做的是:
gem unpack clearance --version 0.10.3.2 --target vendor/gems然后在我的Gemfile中添加了路径:
gem 'clearance', :path => "vendor/gems/clearance-0.10.3.2"然后我在vendor/gems/clearance-0.10.3.2/config/routes.rb中删除了我不想要的路由它不是最干净的解决方案,但它是有效的!
发布于 2011-04-14 00:27:19
看起来(来自这篇文章:http://robots.thoughtbot.com/post/159805560/tips-for-writing-your-own-rails-engine)的创建者花了很大的心思来确保应用程序的路线优先于通关的路线。(您可以将它们全部发送到找不到的页面,或者定义您自己的操作。)
我不知道有什么方法可以简单地定义它们。
https://stackoverflow.com/questions/5650474
复制相似问题