2009-12-23 2 views
0

Я использую Formtastic. Теперь я хотел бы добавить переводы моделей для некоторых полей. Я смотрю на Globalize2, и мне кажется, что мне нужно. Но я не знаю, как интегрировать его с Formtastic. У кого-нибудь есть такой опыт?Использование Formtastic и Globalize2 вместе

ответ

0

Так что это довольно просто. Вы можете использовать его так же, как у вас нет Formtastic.

В миграции:

class CreateCategories < ActiveRecord::Migration 
    def self.up 
    create_table :categories do |t| 
     t.timestamps 
    end 
    Category.create_translation_table! :name => :string 
    end 
    def self.down 
    drop_table :categories 
    Category.drop_translation_table! 
    end 
end 

В модели:

class Category < ActiveRecord::Base 
    attr_accessible :name 
    translates :name 

    default_scope :include => :globalize_translations 

    named_scope :top_categories, {:conditions => {:category_translations => {:locale => I18n.locale}}, 
           :order => 'name asc'} 
end 

одно замечание: так как рельсы 2.3 вы можете использовать default_scope вместо : Стыковка =>: globalize_translations. В более ранних версиях рельсов в методах найти и в named_scopes (например), вы должны написать:

named_scope :top_categories, {:joins => :globalize_translations, 
           :conditions => {:category_translations => {:locale => I18n.locale}}, 
           :order => 'name asc'} 

Ввиду:

<% semantic_form_for @category do |f| %> 
    <% f.inputs do %> 
    <%= f.input :locale, :as => :hidden, :value => I18n.locale %> 
    <%= f.input :name %> 
    <% end %> 
    <%= f.buttons %> 
<% end %> 

P.S: Globalize2 камень не работает для меня. Поэтому мне пришлось использовать плагин.

+0

** Поскольку версия Globalize2 0.2.0 мы можем использовать только: ** default_scope: include =>: translations – Voldy

Смежные вопросы