2012-01-31 87 views
0

你能解釋一下合併方法的功能嗎?在這裏做什麼合併...? - Rails

it "should reject email addresses identical up to case" do 
upcased_email = @attr[:email].upcase 
User.create!(@attr.merge(:email => upcased_email)) 
user_with_duplicate_email = User.new(@attr) 
user_with_duplicate_email.should_not be_valid 
end 

它是如何工作的?

回答

0

很簡單,就是合併電子郵件鍵返回到散列圖(一旦其價值被降低套管):

http://www.ruby-doc.org/core-1.9.3/Hash.html#method-i-merge

+0

因此合併@attr將包含什麼以後? – 2012-01-31 06:48:15

+1

任何電子郵件地址之前的上下套接字版本。 (意外地說,下面的答案在我的答案)。你有沒有嘗試過迴應前後的價值? – Corbin 2012-01-31 06:49:25

+0

之前的代碼必須是@attr = {:name =>「示例用戶」,:電子郵件=>「[email protected]」},事情是我不明白什麼結果的@ attr.merge(:電子郵件= > upcased_email)將是 – 2012-01-31 06:57:30