我已经创建了自己的gem '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 发布于 2016-01-25 23:44:46
局部变量(没有@符号的变量)不会从类作用域传递到方法内部。我不清楚您想要做什么,但您也许可以在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 https://stackoverflow.com/questions/34996391
复制相似问题