Sha256: 90480ed426e4de1eca161a4dab43c16bff146f5cc29d2871734d07eb49cf5af7
Contents?: true
Size: 1.57 KB
Versions: 15
Compression:
Stored size: 1.57 KB
Contents
module Mobility module Backends =begin Stores translated attribute as a column on the model table. To use this backend, ensure that the model table has columns named +<attribute>_<locale>+ for every locale in +I18n.available_locales+. If you are using Rails, you can use the +mobility:translations+ generator to create a migration adding these columns to the model table with: rails generate mobility:translations post title:string The generated migration will add columns +title_<locale>+ for every locale in +I18n.available_locales+. (The generator can be run again to add new attributes or locales.) ==Backend Options There are no options for this backend. Also, the +locale_accessors+ option will be ignored if set, since it would cause a conflict with column accessors. @see Mobility::Backends::ActiveRecord::Column @see Mobility::Backends::Sequel::Column =end module Column extend Backend::OrmDelegator # Returns name of column where translated attribute is stored # @param [Symbol] locale # @return [String] def column(locale = Mobility.locale) Column.column_name_for(attribute, locale) end # Returns name of column where translated attribute is stored # @param [String] attribute # @param [Symbol] locale # @return [String] def self.column_name_for(attribute, locale = Mobility.locale) normalized_locale = Mobility.normalize_locale(locale) "#{attribute}_#{normalized_locale}".to_sym end def self.included(base) base.extend Backend::OrmDelegator end end end end
Version data entries
15 entries across 15 versions & 1 rubygems