我有一个Release带有medium和country列的模型(等等)。不应该有releases相同的medium/country组合。
Release
medium
country
releases
我将如何将其编写为 Rails 验证?
您可以对选项使用唯一性验证。scope
scope
此外,您应该向数据库添加一个唯一索引,以防止新记录在写入前同时检查时通过验证:
class AddUniqueIndexToReleases < ActiveRecord::Migration def change add_index :releases, [:country, :medium], unique: true end end class Release < ActiveRecord::Base validates :country, uniqueness: { scope: :medium } end