【发布时间】:2013-12-31 19:59:23
【问题描述】:
我有这样的课:
Railsapp/lib/five9_providers/record_provider.rb:
class Five9Providers::RecordProvider < Five9Providers::BaseProvider
def add_record_to_list
variable = 'test'
end
end
然后,在控制器中我有这个:
Railsapp/app/controllers/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)
如何从five9_controller.rb 类中的recover_provider.rb 类访问variable?
编辑:
即使在我的record_provider 和five9_controller 中都使用@@variable,我仍然无法访问该变量。我这样称呼它:puts @@variable.
【问题讨论】:
-
这是非常基本的 Ruby 东西。在构建自学 Rails 应用程序之前,我至少会尝试学习 Ruby。
-
完整性检查:“recover_provider.rb”和“five9_controller.rb”不是类。它们是文件,恰好包含类定义。小心你如何称呼事物,因为使用错误的术语会阻碍你被他人理解的能力。
-
谢谢@theTinMan。尽可能多地吸收知识。
标签: ruby-on-rails ruby class inheritance