我确定这是一个简单的问题,但它让我疯了。我在模型类中有一个方法,actual_effort,它在一个帮助器类中调用一个函数。辅助类中的函数是设置一个实例变量,我应该能够在模型类中看到它,但不能。我使用控制台调试它仍然无法看到它。我可以在helper类中显示变量,并使用注释掉的put,这证明它已被设置。
模型类
class WorkFlow < ActiveRecord::Base
require 'helpertest'
def actual_effort
v1 = HelperTest.new()
v1.setActualEffort(1000)
v1.actual_effort
end
end
助手班
class HelperTest
attr_accessor :actual_effort
def setActualEffort(eff)
actual_effort = eff
#puts actual_effort
end
end
答案 0 :(得分:2)
使用self引用成员变量。
class HelperTest
attr_accessor :actual_effort
def setActualEffort(eff)
self.actual_effort = eff
#puts actual_effort
end
end
答案 1 :(得分:1)
actual_effort是一个局部变量。您想要一个实例变量。那是
def setActualEffort(eff)
@actual_effort = eff
#puts actual_effort
end
注意:这相当于self.actual_effort = eff