Man*_*Das 1 ruby rubygems ruby-on-rails ruby-on-rails-3
我有一个类方法,我想访问属性的值
class Run
attr_accessor :line
def self.output(options={})
station_no = options[:station]
title = options[:title]
line = self.line
station = line.stations[station_no-1]
end
end
Run Code Online (Sandbox Code Playgroud)
在这个类方法中我想访问line属性的值,在类方法中我无法访问属性的值self.line.所以请建议我如何访问.
类方法在类上下文中执行,并且line是实例方法,您无法直接从中访问它self.output.
你真的想从类方法中访问实例属性吗?也许你需要的是class属性.如果是这样,您可以这样声明:
class Run
class << self
attr_accessor :line
end
end
Run Code Online (Sandbox Code Playgroud)
,并且能够在类方法中获得它的价值.
如果确实需要从类方法访问实例属性 - 将该实例作为参数传递给方法并在其上调用访问器.
| 归档时间: |
|
| 查看次数: |
361 次 |
| 最近记录: |