小さなシステム用に3つのモデルを作成しました。ここでの目的は、ユーザー、企業、およびそれらの関係を処理することです。交差点で多くのルックアップを実行することを期待しています。また、ユーザーは1つの会社にしか所属できませんが、会社は多くのユーザーを持つことができるため、使用可能な結合を厳密に制御したいと考えています。これを表現する最良の方法は以下のとおりだと思います。この前置詞についてフィードバックをお願いします。これまでのところ、私のテストは私の論文を検証するためにうまく機能し、いくつかの小さな実装作業はうまくいきましたが、ユーザーのリストを調べて彼らの会社を見つけると、どういうわけか問題に遭遇し、has_one関係に関連していると感じます、しかし、確かではありません。建設的なフィードバックに改めて感謝します。
class User < ActiveRecord::Base
has_one :companyrelationship, foreign_key: "user_id"
has_one :company, :through => :companyrelationship, dependent: :destroy
class Company < ActiveRecord::Base
has_many :companyrelationships
has_many :users, :through => :companyrelationships
class CompanyRelationship < ActiveRecord::Base
belongs_to :company
belongs_to :user
validates :user_id, presence: true, uniqueness: true
validates :company_id, presence: true