наследование классов в ruby ​​на рельсах - monkeypatching / overriding own_to - PullRequest
0 голосов
/ 14 января 2011

Простой вопрос Rails.У меня есть модель Foo, которая выглядит следующим образом:

class Foo < ActiveRecord::Base

  belongs_to :bar

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

Как получается, когда я загружаю Foo в irb

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

Я не вижу "HI" (я вполне уверенRails вызывает метод own_to при загрузке класса)?Тем не менее, когда я набираю Foo.belongs_to ("что-нибудь_ здесь"), я вижу:

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

1 Ответ

1 голос
/ 14 января 2011

Не совсем уверен, что вы пытаетесь достичь (выглядит немного неприятно!).

В любом случае, порядок определения и вызов имеют значение:

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

  belongs_to :bar
end
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...