【发布时间】:2018-09-11 23:18:25
【问题描述】:
根据 Rails 文档,可以使用 has_many :through 作为快捷方式:
has_many :through 关联对于设置也很有用 通过嵌套的 has_many 关联的“快捷方式”。例如,如果一个 文档有很多节,一个节有很多段落,你可以 有时想要获取所有段落的简单集合 文档。
假设我们有这段代码:
class User < ApplicationRecord
has_many :sub_users
has_many :settings
end
class SubUser < ApplicationRecord
belongs_to :user
has_many :settings, through: :user
end
class Setting < ApplicationRecord
belongs_to :user
end
基于此,如果我运行user.settings.new,我会得到一个新的Setting 实例,其中user_id 设置为user.id。
那太好了。但是如果我运行sub_user.settings.new,我会得到一个新的Setting 实例,它没有将user_id 设置为sub_user.user.id。
这是预期的行为吗?
【问题讨论】:
标签: ruby-on-rails