2

有没有办法从关联的方法中访问 proxy_association 对象?

例子:

class User < ActiveRecord:Base
  has_many :accounts
end

class Account < ActiveRecord:Base
  belongs_to :user

  def some_function
    # Here I want to access the same user object the association was called on
    # (that holds all already defined global variables), not a newly created object
    # through self.user (where all global variables are reset).

    proxy_association.owner
  end
end

如何访问从该关联中调用关联的对象?不幸的是,self.user返回一个新对象,其中所有先前设置的变量都恢复为默认值。

4

1 回答 1

5

使用关联:inverse_of上的选项。has_many这将在使用关联时连接内存中的两个模型。

class User < ActiveRecord:Base
  has_many :accounts, inverse_of: :user
end

来源: http ://api.rubyonrails.org/classes/ActiveRecord/Associations/ClassMethods.html#method-i-has_many

于 2013-02-05T17:59:45.017 回答