Обновление Rails 2.3.11 до 3.1.3 - попытка заменить proxy_owner на proxy_association.owner - PullRequest
1 голос
/ 07 декабря 2011

Работа над обновлением внутреннего гема с 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.

Ответы [ 2 ]

2 голосов
/ 07 декабря 2011

Вы можете попробовать что-то вроде этого:

@association.owner
0 голосов
/ 05 сентября 2012

Проблема была исправлена ​​с помощью этой проблемы: https://github.com/rails/rails/issues/3890

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