diff --git a/app/controllers/concerns/setting_concern.rb b/app/controllers/concerns/setting_concern.rb index 9174119..a254622 100644 --- a/app/controllers/concerns/setting_concern.rb +++ b/app/controllers/concerns/setting_concern.rb @@ -10,11 +10,21 @@ module SettingConcern def show @setting = target_class.new(initial_params) + @parser = @setting.create_parser + @formatter = @setting.create_formatter @_used_param = {} @_used_section = {} render "shared/settings/show" end + def configure + owned_keys = %i(parse_type format_type) + @setting = target_class.new(initial_params.merge(params.permit(*owned_keys).slice(*owned_keys))) + @parser = @setting.create_parser + @formatter = @setting.create_formatter + render "shared/settings/show" + end + def finish @setting = target_class.new(setting_params) @_used_param = {} diff --git a/config/routes.rb b/config/routes.rb index 31e6c5c..14d5464 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -20,12 +20,14 @@ Rails.application.routes.draw do resource :in_tail, only: [:show], module: :settings, controller: :in_tail do post "after_file_choose" + # get "configure" post "after_format" post "confirm" post "finish" end resource :in_syslog, only: [:show], module: :settings, controller: :in_syslog do + get "configure" post "finish" end @@ -34,6 +36,7 @@ Rails.application.routes.draw do end resource :in_http, only: [:show], module: :settings, controller: :in_http do + get "configure" post "finish" end @@ -42,6 +45,7 @@ Rails.application.routes.draw do end resource :out_stdout, only: [:show], module: :settings, controller: :out_stdout do + get "configure" post "finish" end @@ -54,6 +58,7 @@ Rails.application.routes.draw do end resource :out_s3, only: [:show], module: :settings, controller: :out_s3 do + get "configure" post "finish" end