From 2a1b50beba103627328694f93a7d31d1a761d417 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Javi=20Mart=C3=ADn?= Date: Thu, 18 Oct 2018 01:53:32 +0200 Subject: [PATCH] Extract method to render form fields for a locale --- app/helpers/translatable_form_helper.rb | 29 ++++++++++++++----------- 1 file changed, 16 insertions(+), 13 deletions(-) diff --git a/app/helpers/translatable_form_helper.rb b/app/helpers/translatable_form_helper.rb index 4c46e0507..01b0dd2a7 100644 --- a/app/helpers/translatable_form_helper.rb +++ b/app/helpers/translatable_form_helper.rb @@ -8,24 +8,27 @@ module TranslatableFormHelper class TranslatableFormBuilder < FoundationRailsHelper::FormBuilder def translatable_fields(&block) @object.globalize_locales.map do |locale| - Globalize.with_locale(locale) do - fields_for_translation(translation_for(locale)) do |translations_form| - @template.content_tag :div, translations_options(translations_form.object, locale) do - @template.concat translations_form.hidden_field( - :_destroy, - data: { locale: locale }) - - @template.concat translations_form.hidden_field(:locale, value: locale) - - yield translations_form - end - end - end + Globalize.with_locale(locale) { fields_for_locale(locale, &block) } end.join.html_safe end private + def fields_for_locale(locale, &block) + fields_for_translation(translation_for(locale)) do |translations_form| + @template.content_tag :div, translations_options(translations_form.object, locale) do + @template.concat translations_form.hidden_field( + :_destroy, + data: { locale: locale } + ) + + @template.concat translations_form.hidden_field(:locale, value: locale) + + yield translations_form + end + end + end + def fields_for_translation(translation, &block) fields_for(:translations, translation, builder: TranslationsFieldsBuilder) do |f| yield f