给定以下具有inverse-has-many-association 的类:
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
在执行订单、查找、位置等调用后,如何确保我的用户对象仍然保持不变?