に取り組んでいて、私は次のようにhas_manyを持ってhas_manyのは:状況によって:一方向のみ
u = User.first
t = Term.first
u.terms << t
私はその後、正常にu.terms
を実行することができます。
class User < ApplicationRecord
has_many :term_enrollments, foreign_key: 'builder_id'
has_many :terms, through: :term_enrollments
end
class TermEnrollment < ApplicationRecord
belongs_to :term
belongs_to :builder, class_name: 'User'
end
class Term < ApplicationRecord
has_many :builder_term_enrollments, class_name: 'TermEnrollment', foreign_key: 'builder_id'
has_many :builders, through: :builder_term_enrollments, source: :builder
end
正常以下はterm_enrollmentを作成します。
=> #<ActiveRecord::Associations::CollectionProxy []>
私は私が間違ってsource
を使用していますが、私はどのようにわからないかなり確信している:問題は、私はt.builders
を実行した場合、私は空の関連付けを取得することです。これをどうやって解決するのですか?
私はあなたがinverse_of' '後にしている合理的に確信している、いない' source'、人口関連の両端を持っています – meagar