我有一个Release
模型与medium
and country
列(等等)。不应该有releases
共享相同的medium
/country
组合。
我该如何将其写为 Rails 验证?
您可以使用独特性 http://guides.rubyonrails.org/active_record_validations.html#uniqueness验证与scope
option.
另外,您应该向数据库添加唯一索引,以防止新记录在写入之前同时检查时通过验证:
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
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)