Module: ActiveadminSettingsCached::DSL
- Defined in:
- lib/activeadmin_settings_cached/dsl.rb
Instance Method Summary collapse
-
#active_admin_settings_page(options = {}, &block) ⇒ Object
Declares settings function.
Instance Method Details
#active_admin_settings_page(options = {}, &block) ⇒ Object
Declares settings function.
15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 |
# File 'lib/activeadmin_settings_cached/dsl.rb', line 15 def active_admin_settings_page( = {}, &block) .assert_valid_keys(*ActiveadminSettingsCached::Options::VALID_OPTIONS) = ActiveadminSettingsCached::Options.() coercion = ActiveadminSettingsCached::Coercions.new([:template_object].defaults, [:template_object].display) content title: [:title] do render partial: [:template], locals: { settings_model: [:template_object] } end page_action :update, method: :post do settings_params = params.require(:settings).permit! coercion.cast_params(settings_params) do |name, value| [:template_object].save(name, value) end flash[:success] = t('activeadmin_settings_cached.settings.update.success'.freeze) Rails.version.to_i >= 5 ? redirect_back(fallback_location: admin_root_path) : redirect_to(:back) end instance_eval(&block) if block_given? end |