0

私は宝石を作成して作成しました:

"/lib/gem_name/resource.rb"

module GemName
  class Resource
    def initialize
      # nothing
    end
  end
end

および「/lib/gem_name.rb」

require "gem_name/engine"

module GemName
  def new_resource
    @resources << GemName::Resource.new
  end
end

「/test/dummy/config/initializers/gem_name.rb」にあります

GemName.new_resource

コンソールを起動すると、次のメッセージが表示されます。

unitialized constant GemName::Resource (NameError)

gem_name.gemspecを確認すると、その内容は次のとおりです。

$:.push File.expand_path("../lib", __FILE__)

# Maintain your gem's version:
require "gem_name/version"

# Describe your gem and declare its dependencies:
Gem::Specification.new do |s|
  s.name        = "gem_name"
  s.version     = GemName::VERSION
  s.authors     = ["TODO: Your name"]
  s.email       = ["TODO: Your email"]
  s.homepage    = "TODO"
  s.summary     = "TODO: Summary of GemName."
  s.description = "TODO: Description of GemName."

  s.files = Dir["{app,config,db,lib}/**/*"] + ["MIT-LICENSE", "Rakefile", "README.rdoc"]
  s.test_files = Dir["test/**/*"]

  s.add_dependency "rails", "~> 3.2.8"
  # s.add_dependency "jquery-rails"

  s.add_development_dependency "sqlite3"
end

環境仕様:

  • ルビー1.9.2
  • レール3.2.8
4

1 に答える 1

0

gem_name/resource「/lib/gem_name.rb」ファイルで直接requireする必要があるのではないでしょうか?

于 2012-09-16T06:28:42.783 に答える