docs/onboarding.md in bullet_train-1.0.93 vs docs/onboarding.md in bullet_train-1.0.95
- old
+ new
@@ -11,31 +11,31 @@
The "user email" onboarding step is specifically used in situations where a user signs up with an OAuth provider that either doesn't supply their email address to the application or doesn't have a verified email address for the user. In this situation, we want to have an email address on their account, so we prompt them for it.
## Relevant Files
-> TODO This section needs to be updated now that a bunch of these files are coming in from gems.
+Each of the following files exist within their own respective Bullet Train packages. Make sure you navigate to the correct package when searching for the following files.
### Controllers
- - `ensure_onboarding_is_complete` in `app/controllers/account/application_controller.rb`
- - `app/controllers/account/onboarding/user_details_controller.rb`
- - `app/controllers/account/onboarding/user_email_controller.rb`
+ - `ensure_onboarding_is_complete` in `bullet_train/app/controllers/account/application_controller.rb`
+ - `bullet_train-base/app/controllers/account/onboarding/user_details_controller.rb`
+ - `bullet_train-base/app/controllers/account/onboarding/user_email_controller.rb`
### Views
- - `app/views/account/onboarding/user_details/edit.html.erb`
- - `app/views/account/onboarding/user_email/edit.html.erb`
+ - `bullet_train-base/app/views/account/onboarding/user_details/edit.html.erb`
+ - `bullet_train-base/app/views/account/onboarding/user_email/edit.html.erb`
### Models
- - `user#details_provided?` in `app/models/user.rb`
+ - `user#details_provided?` in `bullet_train-base/app/models/concerns/users/base.rb`
### Routes
- - `namespace :onboarding` in `config/routes.rb`
+ - `namespace :onboarding` in `bullet_train-base/config/routes.rb` and `bullet_train/config/routes.rb`
## Adding Additional Steps
Although you can implement onboarding steps from scratch, we always just copy and paste one of the existing steps as a starting point, like so:
1. Copy, rename, and modify of the existing onboarding controllers.
2. Copy, rename, and modify the corresponding `edit.html.erb` view.
-3. Copy and rename the route entry in `config/routes.rb`.
-4. Add the appropriate gating logic in `ensure_onboarding_is_complete` in `app/controllers/account/application_controller.rb`
+3. Copy and rename the route entry in `bullet_train-base/config/routes.rb`.
+4. Add the appropriate gating logic in `ensure_onboarding_is_complete` in `bullet_train/app/controllers/account/application_controller.rb`
Onboarding steps aren't limited to targeting `User` models. It's possible to add onboarding steps to help flesh out team `Membership` records or `Team` records as well. You can use this pattern for setting up any sort of required data for either the user or the team.