小编Jef*_*eff的帖子

ActiveRecord中proxy_owner的替代方法

ActiveRecord proxy_owner现已弃用,此处的解释非常模糊,如何更改它,所以我不知道如何使用它我的情况:http: //apidock.com/rails/ActiveRecord/Associations/AssociationProxy

这是我正在尝试做的事情:

class Library < ActiveRecord::Base
  has_many :books do
    def some_method
      proxy_owner.author
    end
  end
end
Run Code Online (Sandbox Code Playgroud)

当我运行此代码时,我发出警告,不推荐使用proxy_owner:

DEPRECATION WARNING: Calling record.books.proxy_owner is deprecated. Please use record.association(:books).owner instead.
Run Code Online (Sandbox Code Playgroud)

我可以用以下代码替换proxy_owner.author:

@associaton.owner.author
Run Code Online (Sandbox Code Playgroud)

这有效; 然而,这似乎很危险.我在这里错过了什么吗?

activerecord has-many ruby-on-rails-3

4
推荐指数
1
解决办法
2489
查看次数

标签 统计

activerecord ×1

has-many ×1

ruby-on-rails-3 ×1