0

3 つのテーブル、コメント、ユーザー、および画像があります。

コメンテーターの情報とアバターを含む投稿にコメントの配列を生成するクエリを作成しようとしています。

アバターは images テーブルに保存されますが、users テーブルにはユーザー情報と、ユーザーのアバターを保存する image オブジェクトへの参照 ID が含まれます。

各コメントには、ユーザー テーブル内のオブジェクトを参照する作成者 ID があります。

これは私がこれまでに持っているものです

@comments = Comment.all(:include => [:user => :images], 
            :conditions => {
              :source => p[:source], 
              :source_id => p[:id], 
              :users => {:id => p[:user_id]}, /* if this result is *user */
              :images => {????} /*essentially i need images.id = *user.profile_id */
              })

画像部分が機能しません。誰かがその方法を教えてもらえますか?

4

1 に答える 1

2

これは私が最後に働いたものです

class User < ActiveRecord::Base
    belongs_to :image, :foreign_key => "profile_id"

class Image < ActiveRecord::Base
    has_one :user

class Comment < ActiveRecord::Base
    belongs_to :user

@comments = Comment.all(:include => [{:user => :image}, :like, :flag], 
            :conditions => {
              ...
              })

これは機能しますが、これが適切な方法であるかどうかを誰かが教えてくれれば、それは素晴らしいことです

于 2013-08-30T13:27:41.483 に答える