2012-01-31 4 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 будет содержать что? –

+1

Верхняя версия с обложкой, которой ранее был адрес электронной почты. (Случайно сказал нижний корпус в моем ответе). Вы пробовали повторять значение до и после? – Corbin

+0

перед кодом должен быть @attr = {: name => «Пример пользователя»,: email => «[email protected]»}, дело в том, что я не понимаю, какой результат @ attr.merge (: email = > upcased_email) будет –

Смежные вопросы