我创造了自己的宝石。这是一个非常基本的宝石,只有一个' hi'其中的方法。在我的宝石的lib目录中,我有' mygem.rb'具有上述方法的文件。
现在我创建了一个试图使用此方法的简单rails应用程序。 那我该怎么用呢?
我试着这样做: -
在我的app / controllers中,我有一个名为hello_controller.rb的文件,看起来像这样......
class HelloController < ApplicationController
def index
@message= mygem.hi
@count=3
@bonus="This message came from the controller."
end
end
但是在我的localhost上它给了我以下错误: HelloController中的NameError #index
未初始化的常量HelloController :: mygem
请解决此错误..
答案 0 :(得分:0)
您需要将gem添加到Gemfile中。
您可以使用以下内容:
gem 'mygem', path: 'path/to/gem'
将gem代码包装在类或模块中也是一个好主意,因此它应该是:
lib/mygem.rb
class MyGem
def self.hi
'Hi there!'
end
end
然后,您可以在控制器中将其作为MyGem.hi
答案 1 :(得分:0)
假设您正在使用bundler:
创建一个gem:
bundle gem my_gem
构建gem:
gem build my_gem.gemspec
安装gem:
gem install my_gem-0.0.1.gem
将gem添加到rails应用程序的Gemfile
gem 'my_gem'
添加到宝石包
bundle