2012-12-17 17 views
7

我有一個新的rails引擎,我想使用globalize3。我在LIB這樣做// engine.rb:未定義的方法`create_translation_table!'

require 'globalize3' 

module SimpleCms 
    class Engine < ::Rails::Engine 
    end 
end 

現在,我嘗試創建一個像這樣的遷移:

class CreatePages < ActiveRecord::Migration 
    def up 
    create_table :pages do |t| 
     t.string :path 
     t.timestamps 
    end 
    Page.create_translation_table! title: :string, body: :body 
    end 

    def down 
    drop_table :pages 
    Page.drop_translation_table! 
    end 
end 

而且我有這樣的錯誤:

undefined method `create_translation_table!' for #<Class:0x00000001d5ca18> 

我認爲文件'lib/globalize/active_record/migration.rb'未加載。

任何解決方案?

回答

19

你必須

translates :attributename 

添加到您的發動機模型文件在運行遷移之前。 (用你想要翻譯的屬性替換:attributename)。這爲我修好了。

+0

這對我幫助很大!最後得到它的工作,這是失蹤的一塊。 – Vinozio

+0

非常感謝你Muntasim –

+0

不錯拍攝:)它解決了我的問題:) – user1713964

1

試試這個

SimpleCms::Page.create_translation_table! title: :string, body: :body 

但外鍵會變成simplecms_page_id,我手動改回page_id