2013-10-02 159 views
1

我有一個類型的遷移經常發生的基類:Rails的遷移繼承不工作

class AddEventsBaseMigration < ActiveRecord::Migration 
    #ITEMS = [] 

    def up 
    #add the items 
    end 

    def down 
    #remove the items that were added. 
    end 
end 

然後,當它的時間來添加新的東西,我創建了一個繼承遷移:

class AddEvents0930 < AddEventsBaseMigration 
    ITEMS = [ ... ] 
end 

rake aborted! 
uninitialized constant AddEventsBaseMigration 
C:/.../Source/db/migrate/20131002152826_add_events_0930.rb:1 
c:0:in `migrate' 
Tasks: TOP => db:migrate:up 

我在做什麼錯在這裏:

當我嘗試運行此遷移,我得到這個錯誤?

紅寶石: 1.8.7(2013年6月27日PATCHLEVEL 374)[I386-的mingw32]

滑軌: 3.2.13

編輯:我忘了提及,我已經試過:

require "add_events_base_migration" 
require "./add_events_base_migration" 
require "/db/migrate/add_events_base_migration" 

而我得到的錯誤:no such file to load -- /db/migrate/add_events_base_migration

+1

也許你需要明確添加'requi在文件的開頭重新加入'/ add_events_base_migration'或'require'/ db/migrations/add_events_base_migration''? – Baldrick

+0

我應該提到我已經嘗試過。 –

回答

0

你應該嘗試:

require_relative "add_events_base_migration" 

例如,如果您有測試下他們在「測試」目錄單元測試類和數據「的測試/數據」目錄下,然後你可以使用像線這在一個測試用例:

require_relative "data/customer_data_1" 

如果你在Ruby 1.8中,你可能需要使用這個庫:

https://github.com/steveklabnik/require_relative

+0

我剛試過,我得到'未定義的方法'require_relative'爲main:Object' ...? –

+0

更新了我的答案。 –

+0

爲什麼我必須這樣做才能繼承其他課程?這是不是內置到ruby/rails? –