我有一个我正在制作的宝石,它与rails应用程序位于同一级别。
我正在尝试在rails应用程序中使用gem,但是我无法使其工作 - 我试图使用的常量(在gem中定义)由于某种原因无法访问rails应用程序。
我在这里做错了什么?我可以采取哪些步骤来开始调试问题的原因?
在rails控制台中,$:.grep /mygem/
向我显示["/Users/zabba/mygem/lib"]
目录结构,包含某些文件的内容:
~/mygem/
lib/
mygem/
some_class.rb
module Mygem
class SomeClass
end
end
mygem.rb
require 'mygem/some_class'
~/railsapp/
Gemfile:
gem 'mygem', path: '../mygem', require: 'mygem'
app/
models/
a_model.rb:
# require 'mygem' cannot find file
class AModel
def hello_world
SomeClass.new # Cannot find constant
Mygem::SomeClass.new # Cannot find constant
end
end
答案 0 :(得分:0)
您可以创建一个文件夹vendor/gems
并在那里复制您的gem。然后在你的Gemfile
的Gemfile
gem 'mygem', :path => "vendor/gems/mygem-0.0.1"
然后bundle install