У меня есть модуль 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. Я получаю неопределенный метод 'method_name' для #
.
Есть идеи, как мне определить расширение ассоциации в модуле для включения в другие классы AR?