首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何删除由Clearance生成的默认管线?

如何删除由Clearance生成的默认管线?
EN

Stack Overflow用户
提问于 2011-04-13 21:57:32
回答 2查看 1.5K关注 0票数 1

Clearance定义了以下管线:routes.rb

但我想指定我自己的路由:

代码语言:javascript
复制
match 'login'  => 'clearance/sessions#new', :as => 'sign_in'
match 'logout' => 'clearance/sessions#destroy', :via => :delete, :as => 'sign_out'

‘'rake routes’提供了:

代码语言:javascript
复制
            sign_in        /login(.:format)                        {:action=>"new", :controller=>"clearance/sessions"}
           sign_out DELETE /logout(.:format)                       {:action=>"destroy", :controller=>"clearance/sessions"}

而且(我不想要这些):

代码语言:javascript
复制
          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)

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-06-16 15:54:22

我通过卖宝石解决了这个问题。如中所述:How do I vendorize gems for Rails3/Bundler

首先做的是:

代码语言:javascript
复制
gem unpack clearance --version 0.10.3.2 --target vendor/gems

然后在我的Gemfile中添加了路径:

代码语言:javascript
复制
gem 'clearance', :path => "vendor/gems/clearance-0.10.3.2"

然后我在vendor/gems/clearance-0.10.3.2/config/routes.rb中删除了我不想要的路由它不是最干净的解决方案,但它是有效的!

票数 2
EN

Stack Overflow用户

发布于 2011-04-14 00:27:19

看起来(来自这篇文章:http://robots.thoughtbot.com/post/159805560/tips-for-writing-your-own-rails-engine)的创建者花了很大的心思来确保应用程序的路线优先于通关的路线。(您可以将它们全部发送到找不到的页面,或者定义您自己的操作。)

我不知道有什么方法可以简单地定义它们。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5650474

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档