Совместное использование Formtastic и Globalize2
Я использую Formtastic. Теперь я хотел бы добавить модельные переводы для некоторых полей. Я смотрю на Globalize2 и кажется, что мне нужно. Но я понятия не имею, как интегрировать его с Formtastic. У кого-нибудь есть такой опыт?
1 ответ
Решение
Так что это довольно просто. Вы можете использовать его так же, как у вас нет 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
Одно замечание: начиная с rails 2.3, вы можете использовать default_scope вместо : joins =>: globalize_translations. В более ранних версиях rails в методах Find и в 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 %>
PS: у меня не работает гем Globalize2. Поэтому мне пришлось использовать плагин.