Installation
Requirements
- Ruby on Rails >= 6.0
- Ruby >= 2.7
api_only
set tofalse
. More here.propshaft
orsprockets
gem- Have the
secret_key_base
defined 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.0
Installing 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:install
to generate the initializer and add Avo to theroutes.rb
file. - 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
end
INFO
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: '/'
end
Next 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.