2017-06-16 11 views
0

ので、私はここに私のクラスメソッドのコードアクセス子供

class Brand < Applicationrecord 
    has_many :products, dependent: :destroy, inverse_of: :brand 

    def self.concatenate 
     concat = '' 
     self.products.each do |p| 
      concat += p.name 
     end 
    end 
end 

のこのビットを持って、製品は未定義であると言われています。 自分の子供に自己の方法でアクセスすることはできますか?はいの場合はどうすればいいですか?

おかげで、事前に

答えて

2

は私が

は異なり、自己方法で私の子供にアクセスすることができます。

もしそうなら、どうしたらいいですか?

何とかBrandのインスタンスを取得します。確かにselfを使用しないでください。

あなたが私たちに与えたことから、なぜconcatenateがクラスメソッドであるのかわかりません。インスタンスメソッドである必要があります。

def concatenate 
    products.map(&:name).join 
    end 
+0

私は間違いを見ます。あなたはそれがインスタンスメソッドでなければなりません。ありがとう – LRP