ruby - 从类返回实例变量的值有问题

标签 ruby ruby-on-rails-3.2

我确信这是一个简单的问题,但它让我抓狂。我在模型类 actual_effort 中有一个方法,它调用辅助类中的函数。帮助程序类中的函数正在设置一个实例变量,我应该能够在模型类中看到它,但不能。我使用控制台对其进行调试,但仍然看不到它。我可以在帮助程序类中显示变量,并注释掉 puts,这证明它已被设置。

模型类

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

最佳答案

使用self来引用一个成员变量。

class HelperTest
  attr_accessor :actual_effort

  def setActualEffort(eff)
    self.actual_effort = eff

    #puts actual_effort
  end
end

关于ruby - 从类返回实例变量的值有问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15793813/

相关文章:

ruby-on-rails-3.2 - ruby on Rails 中的 500 内部服务器错误

sql - 当一个包罗万象的 SELECT 已经运行时,为什么要运行单个 SELECT 查询? (Rails/ActiveRecord)

ruby-on-rails - 在 Ruby on Rails 中使用无限 float

Ruby:为每个子类执行代码

mysql - Ruby on Rails,测试表明列不存在,但在架构上

ruby-on-rails-3.2 - 未定义的 mixin 'box-shadow' 与 Active Admin Editor

html - 将 PDF 文件从在线资源嵌入网页,这需要下载 HTTP header 中带有 "Content-Disposition:"标记的文件

ruby - 带有 header 的 Sinatra 流式响应

javascript - 如果出现错误或错误代码,则重新发送 ajax 请求

ruby - 开始使用 MacRuby 和 Xcode 4.2