#Gotchas
If your CSV export includes untrusted data provided by your users, it's possible that they could include an executable formula that could call arbitrary commands on your computer. See #4256 for more details.
When configuring the asset pipeline ensure that the asset prefix
(config.assets.prefix
) is not the same as the namespace of ActiveAdmin
(default namespace is /admin
). If they are the same Sprockets will prevent the
session from being committed. Flash messages won't work and you will be unable to
use the session for storing anything.
For more information see the following post: http://www.intridea.com/blog/2013/3/20/rails-assets-prefix-may-disable-your-session
There are two known gotchas with helpers. This hopefully will help you to find a solution.
This is a known and still open issue the only way is to restart your server each time you change a helper.
If you use config.action_controller.include_all_helpers = false
in your application config,
you need to include it by hand.
This works for all ActiveAdmin resources at once.
# config/initializers/active_admin_helpers.rb
ActiveAdmin::BaseController.class_eval do
helper ApplicationHelper
end
This works only for one resource at a time.
ActiveAdmin.register User do
controller do
helper UserHelper
end
end
In order to avoid the override of your application style with the Active Admin one, you can do one of these things:
- You can properly move the generated file
active_admin.scss
fromapp/assets/stylesheets
tovendor/assets/stylesheets
. - You can remove all
require_tree
commands from your root level css files, where theactive_admin.scss
is in the tree.
If a gem defines a search
class method on a model, this can result in conflicts
with the same method provided by ransack
(a dependency of ActiveAdmin).
Each of this conflicts need to solved is a different way. Some solutions are listed below.
This conflict can be solved, by using explicitly the search
method of tire
,
retire
or elasticsearch-rails
:
YourModel.tire.search
YourModel.__elasticsearch__.search
YourModel.solr_search
Active Admin requires the inherited_resources
gem which may break scaffolding under Rails 5 as it replaces the default scaffold generator. The solution is to configure the default controller in config/application.rb
as outlined in josevalim/inherited_resources#195
module SampleApp
class Application < Rails::Application
...
config.app_generators.scaffold_controller = :scaffold_controller
...
end
end
The ActiveAdmin::BaseController
inherits from the ApplicationController
. Any authentication method(s) specified in the ApplicationController
callbacks will be called instead of the authentication method in the active admin config file. For example, if the ApplicationController has a callback before_action :custom_authentication_method
and the config file's authentication method is config.authentication_method = :authenticate_active_admin_user
, then custom_authentication_method
will be called instead of authenticate_active_admin_user
.