我创造了自己的宝石' mygem'。在lib目录中,我有mygem.rb ruby文件。此文件定义了3个方法。
现在我已经创建了一个rails应用程序,我打算在这个应用程序中使用我的gem。在控制器ruby文件中,我想创建一个对象并使用我的gem方法。但它给了我错误。
以下是我的控制器ruby文件的代码: -
class StaticPagesController < ApplicationController
obj= Newgem.new()
def home
@message1 = obj.head
@message2 = obj.paraone
@message3 = obj.paratwo
end
end
答案 0 :(得分:0)
局部变量(没有@符号的变量)不会从类范围到方法内部。我不清楚你想要做什么,但你也许可以在before_filter中做到这一点,如下:
class StaticPagesController < ApplicationController
before_filter :create_newgem
def home
@message1 = @obj.head
@message2 = @obj.paraone
@message3 = @obj.paratwo
end
protected
def create_newgem
@obj = Newgem.new()
end
end