У меня есть модуль Blockable
, который содержит ассоциации и методы для включения в некоторые другие ActiveRecord
классы.
Соответствующий код:
module Blockable
def self.included(base)
base.has_many :blocks
end
end
Я хочу добавитьрасширение ассоциации.Обычный синтаксис (т. Е. Когда я не определяю связь в модуле) выглядит следующим образом:
# definition in Model < ActiveRecord::Base
has_many :blocks do
def method_name
... code ...
end
end
# usage
Model.first.blocks.method_name
Этот синтаксис не работает при использовании в модуле, который включен в модель AR.Я получаю undefined method 'method_name' for #<ActiveRecord::Relation:0xa16b714>
.
Есть идеи, как мне определить определение расширения в модуле для включения в другие классы AR?