Как я могу добиться следующего? У меня две модели (блоги и читатели) и таблица JOIN, которая позволит мне иметь отношение N: M между ними:
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
). Как я могу достичь этого?
Второй вопрос: как мне получить список блога, на который читатели уже не подписываются (например, чтобы заполнить список выпадающего списка, который затем можно использовать для добавления читателя в другой блог)?