我有以下三种型号:

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

最佳答案

你可以在Feed.rb上这样做:

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

关于ruby-on-rails - Rails has_one每个范围,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/16555124/

10-09 19:40