1

頻繁に発生するタイプの移行の基本クラスがあります。

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

ここで何が間違っていますか?

Ruby: 1.8.7 (2013-06-27 パッチレベル 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

4

1 に答える 1

0

試してみてください:

require_relative "add_events_base_migration"

たとえば、単体テスト クラスが "test" ディレクトリにあり、それらのデータが test "test/data" ディレクトリにある場合、テスト ケースで次のような行を使用できます。

require_relative "data/customer_data_1" 

Ruby 1.8 を使用している場合は、次のライブラリを使用する必要がある場合があります。

https://github.com/steveklabnik/require_relative

于 2013-10-02T18:01:13.597 に答える