我该如何实现以下目标?我有两个模型(博客和读者)和连接表,让我有一个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