1

クリアランスは次のルートを定義します: routes.rb

しかし、私は自分のルートを指定したいと思います:

match 'login'  => 'clearance/sessions#new', :as => 'sign_in'
match 'logout' => 'clearance/sessions#destroy', :via => :delete, :as => 'sign_out'

「レーキルート」は以下を提供します:

            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"}

クリアランスによって生成されたデフォルトルートを削除するにはどうすればよいですか?

クリアランス(0.10.3.2)、レール(3.0.6)、ルビー(1.9.2p180)

4

2 に答える 2

2

(この投稿から:http://robots.thoughtbot.com/post/159805560/tips-for-writing-your-own-rails-engine)作成者は、アプリのルートがクリアランスのルートをオーバーライドするように多大な労力を費やしたようです。(見つからないページにそれらすべてを送信するか、独自のアクションを定義することができます。)

しかし、私はそれらを単純に定義解除する方法を知りません。

于 2011-04-13T16:27:19.207 に答える
2

私は宝石を売り込むことによってそれを解決しました。説明のように:Rails3/Bundlerのgemをベンダー化するにはどうすればよいですか

最初にしたこと:

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-06-16T07:54:21.747 に答える