Installation
Requirements
- Ruby on Rails >= 6.0
- Ruby >= 2.7
api_onlyset tofalse. More here.propshaftorsprocketsgem- Have the
secret_key_basedefined in any of the followingENV["SECRET_KEY_BASE"],Rails.application.credentials.secret_key_base, orRails.application.secrets.secret_key_base
Zeitwerk autoloading is required.
When adding Avo to a Rails app that was previously a Rails 5 app you must ensure that it uses zeitwerk for autoloading and Rails 6 defaults.
# config/application.rb
config.autoloader = :zeitwerk
config.load_defaults 6.0Installing Avo
Use this RailsBytes template for a one-liner install process.
rails app:template LOCATION='https://avohq.io/app-template'
OR
Take it step by step.
- Add
gem 'avo'to yourGemfile - Run
bundle install. - Run
bin/rails generate avo:installto generate the initializer and add Avo to theroutes.rbfile. - Generate an Avo Resource
INFO
This will mount the app under /avo path. Visit that link to see the result.
Install from GitHub
You may also install Avo from GitHub but when you do that you must compile the assets yourself. You do that using the rake avo:build-assets command. When pushing to production, make sure you build the assets on deploy time using this task.
# Rakefile
Rake::Task["assets:precompile"].enhance do
Rake::Task["avo:build-assets"].execute
endINFO
If you don't have the assets:precompile step in your deployment process, please adjust that with a different step you might have like db:migrate.
Mount Avo to a subdomain
You can use the regular host constraint in the routes.rb file.
constraint host: 'avo' do
mount Avo::Engine, at: '/'
endNext steps
Please follow the next steps to ensure your app is secured and you have access to all the features you need.
- Set up authentication and tell Avo who is your
current_user. This step is required for the authorization feature to work. - Set up authorization. Don't let your data be exposed. Give users access to the data they need to see.
- Set up licensing.
Friendly.rb - Your friendly European Ruby Conference