无法访问ruby / rails中的类变量?

路易吉

我有一个像这样的课程:

Railsapp / lib / five9_providers / record_provider.rb:

class Five9Providers::RecordProvider < Five9Providers::BaseProvider

  def add_record_to_list
    variable = 'test'
  end

end

然后,在控制器中,我有这个:

Railsapp /应用程序/控制器/five9_controller.rb:

class Five9Controller < ApplicationController

    def import
      record_provider = Five9Providers::RecordProvider.new()
      record_provider.add_record_to_list
      puts Five9Providers::RecordProvider::variable
    end

end

但是,调用我的控制器方法import只会返回:

NoMethodError (undefined method 'variable' for Five9Providers::RecordProvider:Class)

如何variablerecover_provider.rb班级中班级访问five9_controller.rb

编辑:

即使@@variable在myrecord_provider和my中都使用时five9_controller,我仍然无法访问该变量。我这样称呼它:puts @@variable

彼得·阿尔夫文

按照书面规定,您不能。variable是实例方法的本地对象,任何方法外部的Ruby表达式都无法访问它。

在相关点上,术语“类变量”通常用于表示形式为的变量@@variable

更新:作为对“编辑”语句的响应,如果您在类中更改variable@@variable,则可以使用从类外部访问该变量的技术,但是@@variable对它们的裸引用不是其中之一。仔细阅读您在评论中引用的问题的答案,以获取更多信息。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章