Совместное использование Formtastic и Globalize2 - PullRequest
0 голосов
/ 24 декабря 2009

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

1 Ответ

0 голосов
/ 24 декабря 2009

Так что это довольно просто. Вы можете использовать его так же, как у вас нет 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 %>

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

...