has_many、has_many関連モデルがあるbelonds_to socations
-
28-09-2019 - |
質問
多くの戦いがあるユーザーモデルがあります。戦いはユーザーに属します。
ファイトテーブルには、ユーザーPK(Challenger_idとChallengee_id)を参照する2つの外部キーがあります。
トリックは、user_id = challenger_idまたはchallengee_idで戦いを返すように、ユーザーモデルにhas_many関連を書く方法です。
解決
2つの分離された関連付けを使用し、すべての戦いを返す方法を作成する必要があると思います。いつかあなたが取得する必要がある可能性はありませんか fights
どこでも @user
だった challenger
?
私はこれを次のようにします:
class User < ActiveRecord::Base
has_many :fights_as_challenger, :foreign_key => :challenger_id,
:class_name => "Fight"
has_many :fights_as_challengee, :foreign_key => :challengee_id,
:class_name => "Fight"
def all_fights
self.fights_as_challenger + self.fights_as_challengee
end
end
所属していません StackOverflow