在Rails中,如何在不通过数据库的情况下检索belongs_to关联上的对象?

Ken*_*enB 5 ruby-on-rails associations belongs-to

请考虑以下设置:

class Parent < ActiveRecord::Base
  has_many :children
end

class Child < ActiveRecord::Base
  belongs_to :parent
end
Run Code Online (Sandbox Code Playgroud)

这个控制台会话:

>> p = Parent.find 41
>> p.some_attr = 'some_value'
>> c = p.children.build
>> c.parent
Run Code Online (Sandbox Code Playgroud)

通过观察我的日志文件,我可以看到c.parent正在查询父对象的数据库.我想要访问现有的内存中对象(p),因为我需要访问父的some_attr值,该值尚未存储在数据库中.有没有办法做到这一点?c.parent(force_reload = false)不会让我在那里.

Yon*_*ahW 5

您可以使用:inverse_of来设置它.在这里阅读更多相关信息.