Rails has_one на область действия

У меня есть три модели следующим образом:

    class User < ActiveRecord::Base
      ...
      has_many :feeds
      ...
    end

    class Project < ActiceRecord::Base
      ...
      has_many :feeds
      has_many :users, through: :feeds
      ...
    end

    class Feed < ActiveRecord::Base
      ...
      belongs_to :user
      belongs_to :project
      ...
    end

Я хочу смоделировать ситуацию, когда у пользователя может быть максимум один фид на проект. Я знаю, что могу выполнить эту проверку в пользовательском валидаторе в классе Feed, но есть ли способ смоделировать это, используя только ассоциации ActiveRecord?


person matt    schedule 15.05.2013    source источник


Ответы (1)


Это можно сделать на Feed.rb:

validates :user_id, :uniqueness => {:scope => :project_id}
person Anezio Campos    schedule 15.05.2013
comment
Спасибо, Анецио, и извините, что так поздно принял ваш ответ. Именно то, что я искал. - person matt; 12.06.2013