Usando o ActiveSupport Concerns é realmente fácil habilitar todos os campos para serem editáveis no RailsAdmin (ou em seu próprio painel de administração) através de funções attr_accessible. Crie um arquivo chamado app/models/extensions/adminable.rb
e coloque-o nele:
module Extensions
module Adminable
extend ActiveSupport::Concern
included do
send(:attr_accessible, *(column_names + [{as: :admin}])) if table_exists?
end
end
end
Então, para cada modelo que você deseja que seja totalmente editável por um administrador, adicione esta linha:
include Extensions::Adminable
Se você estiver usando RailsAdmin, adicione
config.attr_accessible_role { :admin }
ao bloco de configuração em seu inicializador RailsAdmin.