module ActiverecordGlobalize::Translates::ClassMethods
Patches ActiveRecord models
Public Instance Methods
translates(*attrs)
click to toggle source
Overrides ActiveRecord getters and setters to consider I18n locales
attrs
translated fields names
# File lib/activerecord_globalize/translates.rb, line 66 def translates(*attrs) raise(ArgumentError, 'must have at least one record to localize') if attrs.empty? self.translated_attrs = attrs attrs.each do |attr_name| define_method "#{attr_name}=" do |value| write_translation(attr_name, value) end define_method attr_name do read_translation(attr_name) end define_method "#{attr_name}_translations" do self["#{attr_name}_translations"].try(:with_indifferent_access) end end end