2012-02-15 8 views
0

は、私は3つのモデルを持っています。しかし、私のナビゲーションリンクの1つは、ユーザーが提出した写真をすべて表示するURL(頻繁に使用されます)を使用することです。この場合、より効率的なものは何ですか?</p> <p>ユーザー、ページ、写真</p> <p>写真がページに属し、ページが(彼らは1つしかない)ユーザーに属している:私のアプリで

class User 
    has_many :pages 
    has_many :photos, :through => :pages 
end 

だから私は、@ user.page.photosすることにより、ユーザの写真を取得することができますを意味します外国ページ内のuser_idのためのキー、および写真でpages_idのための1つ( - または使用は、それをより効率的にするには「」と、 - しかし、それはまだ下のよりも優れている)

class User 
    has_many :pages 
    has_many :photos 
end 

だから、外国ページ内のuser_idのためのキー、および写真でpages_idとuser_idのため1?。 (私は@ user.photosに直接電話することができます)

ありがとうございました!

答えて

0

私は、2番目の例で最も効率的だと思います。これは、ユーザーの写真を見つけるために仲介テーブルに参加する必要がないためです。

user_idの両方の外部キーがテーブルに格納されます。

+0

ありがとうございました!それは私が思っていたものですが、私よりも経験豊富な人とチェックしたいと思っています:) – eBrooker

+0

彼はdatを探していました62.1k – ahnbizcad

関連する問題