访问rails app

时间:2016-01-24 19:57:50

标签: ruby-on-rails ruby

我创造了自己的宝石。这是一个非常基本的宝石,只有一个' 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

请解决此错误..

2 个答案:

答案 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