Clearance bug


#1

Używam engine Clearance w mojej apce.
Potrzebuję nadpisać kilka metod dla kontrolera, więc dodałem:

app/controllers/clearance/sessions_controller.rb

class SessionsController < Clearance::SessionsController
  def url_after_destroy
    root_url
  end
end

i dostaje błąd: Circular dependency detected while autoloading …

Poczytałem i póki co znalazłem takie rozwiązanie:

Przerzuciłem nadpisany kontroller do
app/controllers/sessions_controller.rb
i dodałem do routes.rb

Clearance.configure do |config|
    config.routes = false
  end
  resources :passwords,
      controller: 'clearance/passwords',
      only: [:create, :new]

    resource :session,
      controller: 'sessions',
      only: [:create]

    resources :users,
      controller: 'clearance/users',
      only: Clearance.configuration.user_actions do
        resource :password,
          controller: 'clearance/passwords',
          only: [:create, :edit, :update]
      end

    get '/sign_in' => 'sessions#new', as: 'sign_in'
    delete '/sign_out' => 'sessions#destroy', as: 'sign_out'

    if Clearance.configuration.allow_sign_up?
      get '/sign_up' => 'clearance/users#new', as: 'sign_up'
    end

Da się inaczej rozwiązać ten problem, bo średnio mi się podoba zapychać routes.rb