Dans les rails 3.2.3, je veux valider qu'un modèle de lien a une combinaison unique de deux champs. J'ai un test et une validation qui passe le test comme indiqué ci-dessous, mais il semble qu'il pourrait y avoir une meilleure façon de le faire. Par exemple, serait-il préférable d'utiliser un index avec unicité? Si oui, pourquoi?Meilleure façon de valider l'unicité de deux champs ensemble en utilisant la portée dans les rails
# link_test.rb
...
test "cannot create two links with same name and url" do
Link.create!(:name => 'example', :url => 'http://www.example.com')
assert_raise(ActiveRecord::RecordInvalid, 'could create two links with same name and url'){Link.create!(:name => 'example', :url => 'http://www.example.com')}
end
...
# link.rb
class Link < ActiveRecord::Base
...
validates :name, :uniqueness => {:scope => :url, :message => 'cannot have two entries with same name and url'}
...
end