以下是具有反向一对多关联的类:
class User < ActiveRecord:Base
has_many :accounts, inverse_of: :user
end
class Account < ActiveRecord:Base
belongs_to :user
end
任何给定的用户对象如下所载:
u = User.first
u.some_not_saved_variable = "123"
以下代码显示,在执行新的 SQL 语句后(订单命中数据库),反向关系不会被持久化:
u.accounts.first.user.some_not_saved_variable #=> "123"
u.accounts.order(:created_at).first.user.some_not_saved_variable #=> nil
如何确保在执行 order、find、where 等调用后,我的用户对象仍然保持不变?