這不是我之前收集的某種同步問題。代碼很簡單。 模型:validates_uniqueness_of不起作用
class User < ActiveRecord::Base
attr_accessor :name, :email
validates_uniqueness_of :email, :on => :create, :message => "must be unique"
end
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
運行測試,並得到錯誤信息:
----------------------------
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
-----------------------------
我運行腳本/控制檯,並創建兩個用戶有相同電子郵件地址的對象它很好,沒有驗證消息發生,兩個對象都已經插入到表中。我沒有什麼問題。
我的rails版本是2.3.8,rspc是1.3.0。
是的,問題出在那裏!非常感謝你的幫助! – wupher 2010-08-11 06:42:12