Работа над обновлением внутреннего гема с Rails 2.3.11 до 3.1.3 - имеет следующий фрагмент кода, который моделирует канал действий:
has_many :actions, :class_name => 'Streamer::Model::Action', :through => :action_channel_entries, :order => 'actions.id desc' do
def publish(action)
proxy_association.owner.publish(action)
end
def subscriptions
proxy_association.owner.subscriptions
end
end
Вместо CollectionProxy self в этом has_manyActiveRecord :: Relation, поскольку ошибка из моего модульного теста демонстрирует:
undefined local variable or method `proxy_association' for #<ActiveRecord::Relation:0x106d60f68>
from /Users/brett/.rvm/gems/ree-1.8.7-2011.03@ncsl_r313/gems/activerecord-3.1.3/lib/active_record/relation.rb:459:in `method_missing'
from /Users/brett/Projects/ncsl/app/lib/streamer/model/action_channel.rb:11:in `subscriptions'
from (irb):10
Сейчас я просто ищу предложения о том, как исследовать это дальше, и, возможно, некоторое понимание различных применений CollectionProxyActiveRecord :: Relation.