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