Ruby on rails 在rails应用程序中访问gem方法
我创造了我自己的宝石。这是一个非常基本的宝石,只有一个'喜'的方法。在我的gem的lib目录中,我有一个'mygem.rb'文件,它具有上述方法 现在,我创建了一个简单的rails应用程序,尝试使用这种方法。 那么我应该如何使用它呢 我试着这样做:- 在我的应用程序/控制器中,我有一个名为hello_controller.rb的文件,看起来像这样Ruby on rails 在rails应用程序中访问gem方法,ruby-on-rails,ruby,Ruby On Rails,Ruby,我创造了我自己的宝石。这是一个非常基本的宝石,只有一个'喜'的方法。在我的gem的lib目录中,我有一个'mygem.rb'文件,它具有上述方法 现在,我创建了一个简单的rails应用程序,尝试使用这种方法。 那么我应该如何使用它呢 我试着这样做:- 在我的应用程序/控制器中,我有一个名为hello_controller.rb的文件,看起来像这样 class HelloController < ApplicationController def index @me
class HelloController < ApplicationController
def index
@message= mygem.hi
@count=3
@bonus="This message came from the controller."
end
end
class HelloController
但在我的本地主机上,它给了我以下错误:
HelloController#索引中的名称错误
未初始化的常量HelloController::mygem
请解决此错误。您需要将gem添加到gem文件中 您可以使用以下内容:
gem'mygem',路径:'path/to/gem'
将gem代码封装在类或模块中也是一个好主意,因此应该:
lib/mygem.rb
class MyGem
def self.hi
'Hi there!'
end
end
然后在控制器中将其称为
MyGem.hi
您需要将gem添加到gem文件中
您可以使用以下内容:
gem'mygem',路径:'path/to/gem'
将gem代码封装在类或模块中也是一个好主意,因此应该:
lib/mygem.rb
class MyGem
def self.hi
'Hi there!'
end
end
然后在控制器中将其称为MyGem.hi假设您正在使用bundler,那么: 创建宝石:
bundle gem my_gem
打造创业板:
gem build my_gem.gemspec
安装gem:
gem install my_gem-0.0.1.gem
将gem添加到rails应用程序的gem文件中
gem 'my_gem'
添加到gem包中
bundle
假设您正在使用bundler,则: 创建宝石:
bundle gem my_gem
打造创业板:
gem build my_gem.gemspec
安装gem:
gem install my_gem-0.0.1.gem
将gem添加到rails应用程序的gem文件中
gem 'my_gem'
添加到gem包中
bundle
我用这个gem和所需的路径更新了我的gem文件。正如您所指出的,我的gem代码完全存在于lib/mygem.rb中。但由于某些原因,它会给出此错误。您可能需要使用“mygem”。另外,首先尝试从irb开始工作。我尝试从irb开始工作,效果很好。我用这个gem和所需的路径更新了我的gem文件。正如您所指出的,我的gem代码完全存在于lib/mygem.rb中。但由于某些原因,它会给出此错误。您可能需要使用“mygem”。还有,首先我试着让它从irb开始工作,它工作得很好。是的,我和你说的一样。现在我正在尝试访问如下所示的方法:@message=mygem.hi,但它给了我错误。是的,我做了与您所说的相同的操作。现在我正在尝试访问如下所示的方法:@message=mygem.hi,但它给了我一个错误。