Ce n'est pas une sorte de problème de synchronisation que j'ai lu auparavant. Le code est assez simple. Le modèle:validates_uniqueness_of ne fonctionne pas
class User < ActiveRecord::Base
attr_accessor :name, :email
validates_uniqueness_of :email, :on => :create, :message => "must be unique"
end
Le test rspec:
require 'spec_helper'
describe User do
before(:each) do
@valid_attributes = {
:name => "Foo Bar",
:email => "[email protected]"
}
end
it "should reject duplcate email address" do
User.create!(@valid_attributes)
duplicate_user = User.new(@valid_attributes)
duplicate_user.should_not be_valid
end
end
je lance le test et obtenir un message d'erreur:
----------------------------
1)
'User should reject duplcate email address' FAILED
expected #<User id: nil, name: nil, email: nil, created_at: nil, updated_at: nil> not to be valid
/Users/mac/workspace/rails_space/uniq/spec/models/user_spec.rb:14:
Finished in 0.067908 seconds
1 example, 1 failure
-----------------------------
je lance le script/console, et créer deux utilisateurs objets avec la même adresse email. Cela se passe bien, aucun message de validation ne se produit, les deux objets ont tous deux été insérés dans la table. Je ne sais pas ce qui ne va pas.
Ma version de rails est 2.3.8 et rspc est 1.3.0.
Oui, le problème est là! Merci beaucoup pour votre aide! – wupher