Как я могу удалить маршруты по умолчанию, сгенерированные Clearance? - PullRequest
1 голос
/ 13 апреля 2011

Разрешение определяет следующие маршруты: rout.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"}

Как я могу удалить маршруты по умолчанию, созданные Распродажей?

оформление (0.10.3.2), рельсы (3.0.6), рубин (1.9.2p180)

Ответы [ 2 ]

2 голосов
/ 16 июня 2011

Я решил это, продав драгоценный камень.Как описано в: Как мне продать гем для 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 Это не самое чистое решение, но оно работает!

2 голосов
/ 13 апреля 2011

Похоже (из этого поста: http://robots.thoughtbot.com/post/159805560/tips-for-writing-your-own-rails-engine) создатели приложили большие усилия, чтобы гарантировать, что маршруты приложения переопределяют маршруты очистки. (Вы можете отправить их всех на страницу, не найденную или не определенную ваше собственное действие.)

Я не знаю, как их просто определить.

...