2011-10-24 5 views
0

私が考えている状況は次のとおりです。私のサイトの各ユーザについて、プロフィール画像を割り当てたいと思います。だから、私は次のコードを使用する モデルのユーザー has_one:profile_pic、:classname => 'pic' end しかし、多くの写真がユーザーに関連付けられていないので、すべての写真オブジェクトに外部キーuser_idを与えたくないまったく。それを行う方法はありますか?外部キーを割り当てずに、レールにhas_one関係を使用する方法

答えて

1

私の見解では、ユーザーの複数のプロフィール写真を保存したくない場合や、画像が更新されるたびに更新する場合は、has_one関連付けを使用できます。

一方、ユーザーがアップロードしたすべてのプロフィール写真を保存する場合は、ユーザーのプロフィール写真を保存するアルバムモデルを作成することができます。

has_many :photos, :through => :albums 

を使用し、最初のイメージをユーザーに表示します。

1

あなたは

class User 
    belongs_to :profile_pic, :classname => 'Pic' 
end 

を行うと、あなたのusers表にprofile_pic_idを持つことができます。意味をなさない

ユーザーの心配はありませんbelonging_to写真。これは、キーがこのオブジェクトのテーブルに格納され、他のオブジェクトのテーブルに格納されないことを意味します。

関連する問題