Skip to content

Instantly share code, notes, and snippets.

@zetavg
Last active August 29, 2015 14:05
Show Gist options
  • Save zetavg/a27d1649f38e081b5763 to your computer and use it in GitHub Desktop.
Save zetavg/a27d1649f38e081b5763 to your computer and use it in GitHub Desktop.
ActiveAdmin rails-settings-cached
ActiveAdmin.register_page "Preference" do
menu priority: 2
content do
form_for Preference.new do |f|
inputs "Details" do
input :name => 'key'
input :name => 'val'
end
end
# panel "Preference" do
# end
panel "Preference" do
table do
thead do
th 'Setting'
th 'Value'
th ''
end
Preference.get_all.each do |key, val|
tr do
td strong key
td val
td do
link_to "delete", admin_preference_delete_path( :key => key ), :method => :post
end
end
end
tr do
form :action => admin_preference_create_path, :method => :post do |f|
f.input :name => 'authenticity_token', :type => :hidden, :value => form_authenticity_token.to_s
td do
f.input :name => 'key'
end
td do
f.input :name => 'val'
end
td do
f.input :type => 'submit', :value => 'Add'
end
end
end
end
end
end
page_action :create, :method => :post do
Preference[params[:key]] = params[:val]
redirect_to :back, :notice => "#{params[:key]} added"
end
page_action :create, :method => :post do
Preference[params[:key]] = params[:val]
redirect_to :back, :notice => "#{params[:key]} added"
end
page_action :delete, :method => :post do
Preference.destroy params[:key]
redirect_to :back, :notice => "#{params[:key]} deleted"
end
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment