Allow all attributes to be changed by admins
Using ActiveSupport Concerns it's really easy to enable all fields to be editable in RailsAdmin (or your own admin dashboard) through attr_accessible roles. Create a file called app/models/extensions/adminable.rb
and put this in it:
module Extensions
module Adminable
extend ActiveSupport::Concern
included do
send(:attr_accessible, *(column_names + [{as: :admin}])) if table_exists?
end
end
end
Then for every model you want to be fully editable by an admin, add this line:
include Extensions::Adminable
If you're using RailsAdmin, add
config.attr_accessible_role { :admin }
to the configure block in your RailsAdmin initializer.
Written by David Somers
Related protips
Have a fresh tip? Share with Coderwall community!
Post
Post a tip
Best
#Ruby
Authors
Sponsored by #native_company# — Learn More
#native_title#
#native_desc#