Details

Language / Topic
rubyRuby
Category
Libraries

Rules

balanced
- Use Devise modules selectively: `:database_authenticatable`, `:registerable`, `:recoverable` — only include modules you actually need.
- Override Devise controllers by generating them (`rails generate devise:controllers users`) — customize `create`, `update` actions as needed.
- Use `before_action :authenticate_user!` for protected routes and `current_user` helper in views/controllers — Devise sets these up automatically.
- Customize Devise views with `rails generate devise:views` — modify generated templates.
- Use `devise_for :users` in routes. Override controllers for custom behavior: `devise_for :users, controllers: { sessions: "users/sessions" }`.
- Use Devise's `confirmable` module for email verification, `lockable` for brute-force protection.
- Use `current_user` helper in views and controllers — it's memoized and reads from session.