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