2012-01-31 58 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