Skip to content

Instantly share code, notes, and snippets.

@Slotos
Created March 26, 2012 11:53
Show Gist options
  • Save Slotos/2204617 to your computer and use it in GitHub Desktop.
Save Slotos/2204617 to your computer and use it in GitHub Desktop.
ActiveAdmin Globalize form
module Formtastic
class FormBuilder
def globalize_inputs(*args, &proc)
index = options[:child_index] || "#{self.object.class.to_s}-#{self.object.object_id}"
linker = ActiveSupport::SafeBuffer.new
fields = ActiveSupport::SafeBuffer.new
::I18n.available_locales.each do |locale|
linker << self.template.content_tag(:li,
self.template.content_tag(:a,
::I18n.t('translation', :locale => locale),
:href => "#lang-#{locale}-#{index}"
)
)
fields << self.template.content_tag(:div,
self.semantic_fields_for(*(args.dup << self.object.translation_for(locale)), &proc),
:id => "lang-#{locale}-#{index}"
)
end
linker = self.template.content_tag(:ul, linker, :class => "language-selection")
self.template.content_tag(:div, linker + fields, :class => "language-tabs-#{index}") + self.template.content_tag(:script, "$('.language-tabs-#{index}').tabs();", :type => "text/javascript")
end
end
end
module ActiveAdmin
class FormBuilder
def globalize_inputs(*args, &proc)
content = with_new_form_buffer { super }
form_buffers.last << content.html_safe
end
end
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment