Skip to content
Create a gist now

Instantly share code, notes, and snippets.

activeadmin strong parameters extension
module StrongAdmin
extend ActiveSupport::Concern
def initialize
@instance_name = active_admin_config.resource_class.name.underscore.to_sym
@klass = active_admin_config.resource_class
super
end
def create
resource_obj = instance_variable_set("@#{@instance_name}", @klass.new(params[@instance_name].permit!))
if resource_obj.save
redirect_to send("admin_#{@instance_name}_path", resource_obj), notice: "Created #{@instance_name}."
else
render :new
end
end
def update
resource_obj = instance_variable_set("@#{@instance_name}", @klass.find(params[:id]))
if resource_obj.update_attributes(params[@instance_name].permit!)
redirect_to send("admin_#{@instance_name}_path", resource_obj), notice: "Updated #{@instance_name}."
else
render :edit
end
end
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Something went wrong with that request. Please try again.