【发布时间】:2016-11-16 07:28:39
【问题描述】:
我使用的是 Rails 4.2.5。我有这个超类
class AbstractImportService
def initialize(params)
@init_url = params[:init_url]
end
private
attr_reader :init_url
然后是继承自它的这个类
class MyService < AbstractImportService
def self.my_method(runner_id)
puts "init_url: #{@init_url}"
…
end
问题是,在“self.my_method”方法中,即使我最初将@init_url 指向某个东西,puts 行也会打印出“init_url:”。 Rails 没有受保护的概念,那么有没有其他方法可以让子类识别超类的类成员变量?
【问题讨论】:
标签: ruby-on-rails-4 inheritance service abstract-class class-variables