5

インストールジェネレーターを含むsimpe gemを作成します。ジェネレーターは正常に動作しますが、rspecを使用してテストしたいので、この gemを見つけて、ジェネレーターをテストしようとします。スペックコードは次のとおりです。

require 'genspec'
require 'rosalie'

describe :install_generator do

  it "should generate model" do
    subject.should generate("message.rb")
  end
end

rosalie は may gem の名前ですが、実行するとエラーが発生しました: /stuff/work/my_projects/rosalie/lib/rosalie/engine.rb:2:in `': uninitialized constant Rosalie::Rails (NameError)

私の engine.rb コードは次のとおりです。

module Rosalie
  class Engine < Rails::Engine

    initializer "rosalie.models.messageable" do
      ActiveSupport.on_load(:active_record) do
        include Rosalie::Models::Messageable
      end
    end
  end
end

誰でもこの問題で私を助けることができますか?

4

2 に答える 2

2

コードをどこかに含める前に、コードをロードする必要があります。

メインファイルをrequireまたはautoloadします。

これが私の宝石の例です。

于 2012-05-03T14:53:06.347 に答える