diff --git a/app/helpers/globalize_helper.rb b/app/helpers/globalize_helper.rb index 575e81c8e..92d02b63e 100644 --- a/app/helpers/globalize_helper.rb +++ b/app/helpers/globalize_helper.rb @@ -12,7 +12,7 @@ module GlobalizeHelper def display_translation?(resource, locale) if !resource || resource.translations.blank? || - resource.translations.map(&:locale).include?(I18n.locale) + resource.locales_not_marked_for_destruction.include?(I18n.locale) locale == I18n.locale else locale == resource.translations.first.locale diff --git a/app/helpers/translatable_form_helper.rb b/app/helpers/translatable_form_helper.rb index 01b0dd2a7..a65221b79 100644 --- a/app/helpers/translatable_form_helper.rb +++ b/app/helpers/translatable_form_helper.rb @@ -6,7 +6,13 @@ module TranslatableFormHelper end class TranslatableFormBuilder < FoundationRailsHelper::FormBuilder + attr_accessor :translations + def translatable_fields(&block) + @translations = {} + @object.globalize_locales.map do |locale| + @translations[locale] = translation_for(locale) + end @object.globalize_locales.map do |locale| Globalize.with_locale(locale) { fields_for_locale(locale, &block) } end.join.html_safe @@ -15,7 +21,7 @@ module TranslatableFormHelper private def fields_for_locale(locale, &block) - fields_for_translation(translation_for(locale)) do |translations_form| + fields_for_translation(@translations[locale]) do |translations_form| @template.content_tag :div, translations_options(translations_form.object, locale) do @template.concat translations_form.hidden_field( :_destroy,