1

我有以下三个模型:

    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 关联来对此进行建模?

4

1 回答 1

3

您可以在 Feed.rb 上执行此操作:

validates :user_id, :uniqueness => {:scope => :project_id}
于 2013-05-15T01:36:52.933 回答