私はRails 4.2.5を使用しています。私はこのスーパークラスにRoRでは、スーパークラスのクラス変数を認識するためにサービスクラスのサブクラスを取得するにはどうすればよいですか?
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を:」でも、私が最初に@init_urlを何かに付けるならば。 Railsにはprotectedの概念がないので、サブクラスにスーパークラスのクラスメンバー変数を認識させる別の方法がありますか?あなたが(とないこのクラスのオブジェクトに)たMyServiceクラスで呼び出され self.my_method(runner_id)
ことによってそれを得るためにそれをしようとし、その値を得ることを期待することはできませんので
。精巧なサンプルとコードサンプルは常に有用です。 –
さて、私は上記の答えを編集し、コードサンプルを追加します。あなたのために大丈夫ですか@マイク? –