mirror of
https://github.com/jbranchaud/til
synced 2026-03-04 23:18:44 +00:00
Compare commits
4 Commits
76130792ab
...
8bb3689f1a
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
8bb3689f1a | ||
|
|
7632664200 | ||
|
|
5615da920f | ||
|
|
c60c63f554 |
@@ -10,7 +10,7 @@ pairing with smart people at Hashrocket.
|
||||
|
||||
For a steady stream of TILs, [sign up for my newsletter](https://crafty-builder-6996.ck.page/e169c61186).
|
||||
|
||||
_1566 TILs and counting..._
|
||||
_1567 TILs and counting..._
|
||||
|
||||
See some of the other learning resources I work on:
|
||||
- [Ruby Operator Lookup](https://www.visualmode.dev/ruby-operators)
|
||||
@@ -195,7 +195,7 @@ See some of the other learning resources I work on:
|
||||
- [Aliasing An Ansible Host](devops/aliasing-an-ansible-host.md)
|
||||
- [Allow Cross-Origin Requests To Include Cookies](devops/allow-cross-origin-requests-to-include-cookies.md)
|
||||
- [Allow HTTPS Through Your UFW Firewall](devops/allow-https-through-your-ufw-firewall.md)
|
||||
- [Check For Cached Site Assocation File For iOS](devops/check-for-cached-site-association-file-for-ios.md)
|
||||
- [Check For Cached Site Association File For iOS](devops/check-for-cached-site-association-file-for-ios.md)
|
||||
- [Check The Status of All Services](devops/check-the-status-of-all-services.md)
|
||||
- [Check The Syntax Of nginx Files](devops/check-the-syntax-of-nginx-files.md)
|
||||
- [Connect To An RDS PostgreSQL Database](devops/connect-to-an-rds-postgresql-database.md)
|
||||
@@ -764,7 +764,7 @@ See some of the other learning resources I work on:
|
||||
- [Check If Clusters Are Upgrade Compatible](postgres/check-if-clusters-are-upgrade-compatible.md)
|
||||
- [Check If The Local Server Is Running](postgres/check-if-the-local-server-is-running.md)
|
||||
- [Check If User Role Exists For Database](postgres/check-if-user-role-exists-for-database.md)
|
||||
- [Check Table For Any Oprhaned Records](postgres/check-table-for-any-orphaned-records.md)
|
||||
- [Check Table For Any Orphaned Records](postgres/check-table-for-any-orphaned-records.md)
|
||||
- [Checking Inequality](postgres/checking-inequality.md)
|
||||
- [Checking The Type Of A Value](postgres/checking-the-type-of-a-value.md)
|
||||
- [Clear The Screen In psql](postgres/clear-the-screen-in-psql.md)
|
||||
@@ -1056,6 +1056,7 @@ See some of the other learning resources I work on:
|
||||
- [Run A Rake Task Programmatically](rails/run-a-rake-task-programmatically.md)
|
||||
- [Run Commands With Specific Rails Version](rails/run-commands-with-specific-rails-version.md)
|
||||
- [Run Some Code Whenever Rails Console Starts](rails/run-some-code-whenever-rails-console-starts.md)
|
||||
- [Scaffold Auth Functionality With Rails 8 Generator](rails/scaffold-auth-functionality-with-rails-8-generator.md)
|
||||
- [Schedule Sidekiq Jobs Out Into The Future](rails/schedule-sidekiq-jobs-out-into-the-future.md)
|
||||
- [Secure Passwords With Rails And Bcrypt](rails/secure-passwords-with-rails-and-bcrypt.md)
|
||||
- [Select A Select By Selector](rails/select-a-select-by-selector.md)
|
||||
|
||||
44
rails/scaffold-auth-functionality-with-rails-8-generator.md
Normal file
44
rails/scaffold-auth-functionality-with-rails-8-generator.md
Normal file
@@ -0,0 +1,44 @@
|
||||
# Scaffold Auth Functionality With Rails 8 Generator
|
||||
|
||||
Rails 8 added a built-in generator for authentication that scaffolds the core
|
||||
models, controllers, views, routes, etc. needed for a basic email/password
|
||||
authentication flow. It creates a `User` model, if one doesn't already exist,
|
||||
as the authenticated object. It uses the `bcrypt` gem for password hashing,
|
||||
etc.
|
||||
|
||||
Here is an example of what you get when running the generator on a relatively
|
||||
new Rails 8 project:
|
||||
|
||||
```bash
|
||||
$ bin/rails generate authentication
|
||||
invoke tailwindcss
|
||||
create app/views/passwords/new.html.erb
|
||||
create app/views/passwords/edit.html.erb
|
||||
create app/views/sessions/new.html.erb
|
||||
create app/models/session.rb
|
||||
create app/models/user.rb
|
||||
create app/models/current.rb
|
||||
create app/controllers/sessions_controller.rb
|
||||
create app/controllers/concerns/authentication.rb
|
||||
create app/controllers/passwords_controller.rb
|
||||
create app/channels/application_cable/connection.rb
|
||||
create app/mailers/passwords_mailer.rb
|
||||
create app/views/passwords_mailer/reset.html.erb
|
||||
create app/views/passwords_mailer/reset.text.erb
|
||||
create test/mailers/previews/passwords_mailer_preview.rb
|
||||
insert app/controllers/application_controller.rb
|
||||
route resources :passwords, param: :token
|
||||
route resource :session
|
||||
gsub Gemfile
|
||||
bundle install --quiet
|
||||
generate migration CreateUsers email_address:string!:uniq password_digest:string! --force
|
||||
rails generate migration CreateUsers email_address:string!:uniq password_digest:string! --force
|
||||
invoke active_record
|
||||
create db/migrate/20250115224625_create_users.rb
|
||||
generate migration CreateSessions user:references ip_address:string user_agent:string --force
|
||||
rails generate migration CreateSessions user:references ip_address:string user_agent:string --force
|
||||
invoke active_record
|
||||
create db/migrate/20250115224626_create_sessions.rb
|
||||
```
|
||||
|
||||
[source](https://www.bigbinary.com/blog/rails-8-introduces-a-basic-authentication-generator)
|
||||
Reference in New Issue
Block a user