Rails has_one每个范围

时间:2013-05-15 00:59:11

标签: ruby-on-rails ruby activerecord associations has-many

我有三个模型如下:

    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的情况。我知道我可以在Feed类中的自定义验证器中进行此检查,但有没有办法仅使用ActiveRecord关联对其进行建模?

1 个答案:

答案 0 :(得分:3)

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

validates :user_id, :uniqueness => {:scope => :project_id}