Association extension method

In my application a user working at a dropzone can manipulate
transactions against customer accounts. Here's my models:

class Transaction < ActiveRecord::Base
  belongs_to :account
end

class Account < ActiveRecord::Base
  belongs_to :dropzone
  has_many :transactions
end

class Dropzone < ActiveRecord::Base
  has_many :transactions, :through => :accounts do
    def limited_to(transaction)
      scope = Transaction.scoped({ :conditions =>
['account.dropzone_id = ?', proxy_owner.id],
                                   :joins => :account })
      scope
    end
  end
end

In a controller, I'd like to write:

current_dropzone.transactions.limited_to(@transaction)

but, I get the error:

      RuntimeError: ERROR C42P01 Mmissing FROM-clause entry for
table "account" P122 Fparse_relation.c L2017
RwarnAutoRange: SELECT "transactions".* FROM "transactions" INNER
JOIN "accounts" ON "accounts".id = "transactions".account_id WHERE
(account.dropzone_id = 2) (ActionView::TemplateError)

I've searched all over and tried many options but can't figure this
out, I hope someone can help.

Many thanks,
Bryan

Hi --

David,

thank you so much, that was the correct answer.

My complete association extension is now:

class Dropzone < ActiveRecord::Base
  has_many :transactions, :through => :accounts do
    def limited_to(transaction)
      scope = Transaction.scoped({ :conditions =>
['accounts.dropzone_id = ?', proxy_owner.id],
                                   :include =>
[:account, :payment_method, :slot] })
      scope = scope.scoped :conditions => ['name ILIKE ?', "%#
{transaction.account_name}%"] unless transaction.account_name.blank?
      scope = scope.scoped :conditions => ['payment_method_id = ?',
transaction.payment_method_id] unless
transaction.payment_method_id.blank?
      scope
    end
  end
end