From fc134ee7fbc070e2cf38462ab7cbe941bc1cd997 Mon Sep 17 00:00:00 2001 From: Artur Beljajev Date: Thu, 23 Nov 2017 07:05:59 +0200 Subject: [PATCH] Add language_select form field #640 --- app/helpers/default_form_builder.rb | 7 +++++++ app/helpers/form_helper.rb | 5 +++++ 2 files changed, 12 insertions(+) diff --git a/app/helpers/default_form_builder.rb b/app/helpers/default_form_builder.rb index 406893109..02f98e69d 100644 --- a/app/helpers/default_form_builder.rb +++ b/app/helpers/default_form_builder.rb @@ -7,4 +7,11 @@ class DefaultFormBuilder < ActionView::Helpers::FormBuilder def money_field(method, options = {}) @template.money_field(@object_name, method, objectify_options(options)) end + + def language_select(method, choices = nil, options = {}, html_options = {}, &block) + options[:selected] = @object.send(method) unless options[:selected] + @template.language_select(@object_name, method, choices, objectify_options(options), + @default_options.merge(html_options), + &block) + end end diff --git a/app/helpers/form_helper.rb b/app/helpers/form_helper.rb index aa25fbaea..5cd5998eb 100644 --- a/app/helpers/form_helper.rb +++ b/app/helpers/form_helper.rb @@ -12,4 +12,9 @@ module FormHelper text_field(object_name, method, options) end + + def language_select(object, method, choices = nil, options = {}, html_options = {}, &block) + choices = options_for_select({ en: 'English', et: 'Estonian' }.invert, options[:selected]) + select(object, method, choices, options, html_options, &block) + end end