我該如何實現以下目標?我有兩個模型(博客和讀者)和連接表,讓我有一個N:他們m之間的關係:如何避免has_many:through關係中的重複?
class Blog < ActiveRecord::Base
has_many :blogs_readers, :dependent => :destroy
has_many :readers, :through => :blogs_readers
end
class Reader < ActiveRecord::Base
has_many :blogs_readers, :dependent => :destroy
has_many :blogs, :through => :blogs_readers
end
class BlogsReaders < ActiveRecord::Base
belongs_to :blog
belongs_to :reader
end
我想現在要做的,就是添加讀者不同的博客。但是,條件是我只能將一個讀者添加到博客ONCE。因此BlogsReaders
表中不得有任何重複項(readerID
,相同blogID
)。我怎樣才能做到這一點?
第二個問題是,我如何獲得讀者未訂閱的博客列表(例如填充下拉選擇列表,然後可以將讀者添加到另一個博客) ?
此外,我想提到這可能是更好的方法,因爲接受的答案選擇行中的所有數據(例如the_reader.blogs),而我的答案只選擇行中的id(例如the_reader。 blog_ids)。這是一個很大的表現! – 2008-11-25 15:20:10