Created
May 8, 2015 09:29
-
-
Save sunchess/48434beee4fe92ba7242 to your computer and use it in GitHub Desktop.
Просматриваем путь к переводу полей формы #Rails 4.2
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#put to lib/i18n_ar_attribute_shower.rb | |
module ActiveModel | |
# == Active \Model \Translation | |
# | |
# Provides integration between your object and the Rails internationalization | |
# (i18n) framework. | |
# | |
# A minimal implementation could be: | |
# | |
# class TranslatedPerson | |
# extend ActiveModel::Translation | |
# end | |
# | |
# TranslatedPerson.human_attribute_name('my_attribute') | |
# # => "My attribute" | |
# | |
# This also provides the required class methods for hooking into the | |
# Rails internationalization API, including being able to define a | |
# class based +i18n_scope+ and +lookup_ancestors+ to find translations in | |
# parent classes. | |
module Translation | |
include ActiveModel::Naming | |
# Transforms attribute names into a more human format, such as "First name" | |
# instead of "first_name". | |
# | |
# Person.human_attribute_name("first_name") # => "First name" | |
# | |
# Specify +options+ with additional translating options. | |
def human_attribute_name(attribute, options = {}) | |
options = { count: 1 }.merge!(options) | |
parts = attribute.to_s.split(".") | |
attribute = parts.pop | |
namespace = parts.join("/") unless parts.empty? | |
attributes_scope = "#{self.i18n_scope}.attributes" | |
if namespace | |
defaults = lookup_ancestors.map do |klass| | |
:"#{attributes_scope}.#{klass.model_name.i18n_key}/#{namespace}.#{attribute}" | |
end | |
defaults << :"#{attributes_scope}.#{namespace}.#{attribute}" | |
else | |
defaults = lookup_ancestors.map do |klass| | |
:"#{attributes_scope}.#{klass.model_name.i18n_key}.#{attribute}" | |
end | |
end | |
defaults << :"attributes.#{attribute}" | |
defaults << options.delete(:default) if options[:default] | |
defaults << attribute.humanize | |
options[:default] = defaults | |
dsh = defaults.shift | |
Rails.logger.tagged("I18n attribute only Rails 4.2!: #{attribute}") do | |
Rails.logger.debug(dsh) | |
end if Rails.logger | |
I18n.translate(dsh, options) | |
end | |
end | |
end | |
#config/application.rb on bottom of file | |
#require Rails.root.join('lib', 'i18n_ar_attribute_shower') if Rails.env.development? |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment