Extract method to render form fields for a locale
This commit is contained in:
@@ -8,12 +8,19 @@ module TranslatableFormHelper
|
|||||||
class TranslatableFormBuilder < FoundationRailsHelper::FormBuilder
|
class TranslatableFormBuilder < FoundationRailsHelper::FormBuilder
|
||||||
def translatable_fields(&block)
|
def translatable_fields(&block)
|
||||||
@object.globalize_locales.map do |locale|
|
@object.globalize_locales.map do |locale|
|
||||||
Globalize.with_locale(locale) do
|
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|
|
fields_for_translation(translation_for(locale)) do |translations_form|
|
||||||
@template.content_tag :div, translations_options(translations_form.object, locale) do
|
@template.content_tag :div, translations_options(translations_form.object, locale) do
|
||||||
@template.concat translations_form.hidden_field(
|
@template.concat translations_form.hidden_field(
|
||||||
:_destroy,
|
:_destroy,
|
||||||
data: { locale: locale })
|
data: { locale: locale }
|
||||||
|
)
|
||||||
|
|
||||||
@template.concat translations_form.hidden_field(:locale, value: locale)
|
@template.concat translations_form.hidden_field(:locale, value: locale)
|
||||||
|
|
||||||
@@ -21,10 +28,6 @@ module TranslatableFormHelper
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end.join.html_safe
|
|
||||||
end
|
|
||||||
|
|
||||||
private
|
|
||||||
|
|
||||||
def fields_for_translation(translation, &block)
|
def fields_for_translation(translation, &block)
|
||||||
fields_for(:translations, translation, builder: TranslationsFieldsBuilder) do |f|
|
fields_for(:translations, translation, builder: TranslationsFieldsBuilder) do |f|
|
||||||
|
|||||||
Reference in New Issue
Block a user