Reputation: 23
I'm sure this is a simple question but it's driving me nuts. I have a method in a model class, actual_effort, which is calling a function in a helper class. The function in the helper class is setting an instance variable which I should be able to see back in the model class but can't. I debug it using the console and still can't see it. I can display the variable in the helper class, with the commented out puts, and this proves it's being set.
Model class
class WorkFlow < ActiveRecord::Base
require 'helpertest'
def actual_effort
v1 = HelperTest.new()
v1.setActualEffort(1000)
v1.actual_effort
end
end
Helper class
class HelperTest
attr_accessor :actual_effort
def setActualEffort(eff)
actual_effort = eff
#puts actual_effort
end
end
Upvotes: 1
Views: 40
Reputation: 3266
actual_effort in your setActualEffort method is a local variable. You want a instance variable instead. That is
def setActualEffort(eff)
@actual_effort = eff
#puts actual_effort
end
Note: This is equivalent to self.actual_effort = eff
Upvotes: 1
Reputation: 1277
Use self to reference a member variables.
class HelperTest
attr_accessor :actual_effort
def setActualEffort(eff)
self.actual_effort = eff
#puts actual_effort
end
end
Upvotes: 2