2011-01-14 10 views
0

シンプルなレールの質問。私は「HI」(私はRailsが時にbelongs_toのを呼び出しますかなり確信して表示されていないどのように私はIRBルビーのクラス継承 - monkeypatching/overriding belongs_to

>> Foo 
=> Foo(id: integer, bar_id: integer) 
>> 

ではFooをロードしたときに来

class Foo < ActiveRecord::Base 

    belongs_to :bar 

    def self.belongs_to(association_id, options = {}) 
    puts "HI" 
    super 
    end 
end 

:私はこのようになりますモデルはFooを持っていますクラスが読み込まれます)?私はFoo.belongs_to(「anything_here」)を入力すると、まだ、私は以下を参照してください。

>> Foo.belongs_to("anything_here") 
HI 
=> nil 
>> 

答えて

1

ないあなたが達成しようとしているか全くわからは(ビット厄介に見えます!)。

いずれかの方法では、しかし、定義と呼び出し状物質の順:

class Foo < ActiveRecord::Base 
    def self.belongs_to(association_id, options = {}) 
    puts "HI" 
    super 
    end 

    belongs_to :bar 
end
+0

ちょうど継承とメソッドのオーバーライドの相互作用を理解しようとしています。ありがとう。これは私の質問に答える。 –