PHC MTDevise Rails 5.1 engine adds multi-tenant and account management features to rails Devise gem. Plataformatec Devise and required custom Bootstrap Devise views included.
Generate a user.rb file in your mainapp and add the code below
rails g model User include Mtdevise::UserStorage
gem 'mtdevise', '~> 16.0' bundle exec install
rake railties:install:migrations rake db:migrate
Add this line at the end of the routes file.
mount Mtdevise::Engine, :at => '/'
All the routes you want to have multi-tenacy login functions goes in between the constraints block.
constraints(Mtdevise::Constraints::SubdomainRequired) do # Routes Requiring Security & Multi-Tenancy Routes end
Your app needs modification to controllers (example)
Any corresponding db database tables must have an accounts_id column
Add the mtdevise extension to the top of all models for the routes configured in the previous step.
def self.scoped_to(account) where(:account_id => account.id) end
Scope your controllers. Examples on github wiki or multi-tenant starter app.
Set a sent from email address for confirmation and password reset emails more info here. .
PHC_MTDEVISE_SENDER = [email protected]
Once installed views can be generated and customized to your apps needs.
rails generate mtdevise:views rake assets:clobber rake assets:precompile