私はレール上でルビーを学んでおり、私は解決できなかったアクティブなレコードの問題にぶつかってきました。私は内部の4つのテーブルを一緒に結合し、それらからデータを表示しようとしています。Rails、アクティブレコード。 4つのテーブルを結合する
次のSQLスタイルのクエリを実行して、データベーススキーマが正しいことを確認しました。それは私が期待するデータを返します。
select * from sailings
INNER JOIN travelling_parties on sailings.id = travelling_parties.sailing_id
INNER JOIN party_registers on travelling_parties.id = party_registers.travelling_party_id
inner JOIN users on party_registers.user_id = users.id
where users.id = 8
guides.rubyonrails.orgに大きなドキュメントを通して読んだ後、私はまだ解決策を見つけることができません。以下のクエリは私がコントローラで思いついたものですが、必要なものを返すようには見えません。
@sailing = Sailing.joins(:travelling_parties => [{:party_registers => :user}])
私は適切な方向に私を操縦することができます誰でも感謝します。
ありがとうございました
EDIT 1:こちらは私のモデルです。私はuser.id = current_user.idをチェックし、それに基づいてデータを表示しようとしています。
class Sailing
has_many :travelling_parties
end
class TravelingParty
has_many :party_registers
has_many :users, through: :party_registers
end
class PartyRegister
belongs_to :user
belongs_to :travelling_party
end
class User
has_many :party_registers
has_many :travelling_parties, through: :party_registers
end
EDIT 2:( "users.id"。(:travelling_parties => {:ユーザー:party_registers =>})次のクエリは私に私の意図した結果を
@sailing = Sailing.joins得=> current_user.id)
ありがとうございます。
uが年モデルを投稿することができますか?また、ユーザーのテーブルから正確に何を返すのですか? – 7urkm3n