2010-05-06 6 views

Répondre

0

Essayez quelque chose comme suit

Post.create_translation_table! :title => :string, :text => :text, {:null=>false, :default=>"abc"} 
0

Voici la définition de la méthode dans la version actuelle de globalize2:

def create_translation_table!(fields) 
    translated_attribute_names.each do |f| 
     raise MigrationMissingTranslatedField, "Missing translated field #{f}" unless fields[f] 
    end 

    fields.each do |name, type| 
     if translated_attribute_names.include?(name) && ![:string, :text].include?(type) 
     raise BadMigrationFieldType, "Bad field type for #{name}, should be :string or :text" 
     end 
    end 

    self.connection.create_table(translation_table_name) do |t| 
     t.references table_name.sub(/^#{table_name_prefix}/, "").singularize 
     t.string :locale 
     fields.each do |name, type| 
     t.column name, type 
     end 
     t.timestamps 
    end 

    self.connection.add_index(
     translation_table_name, 
     "#{table_name.sub(/^#{table_name_prefix}/, "").singularize}_id", 
     :name => translation_index_name 
    ) 
    end 

Comme vous pouvez le voir, il n'y a pas de troisième paramètre passé aux t.column déclarations. Par conséquent, globalize2 ne le supportera pas sans un correctif. Ma suggestion est juste de créer manuellement la migration.

Questions connexes