Я не могу понять, почему чемпион Гермиона сначала и после перерыва, чемпионы становятся ноль ... Есть ли проблема с использованием перерыва?«Перерыв» удалить назначенную переменную?
вот мой код:
def pair(users_with_meeting, paired_users, ordered_keys,week)
ordered_keys.each do |key|
candidates = users_with_meeting[key] - paired_users
unless candidates.empty?
champion = candidates.first
puts "ok"
puts champion.inspect.to_s
break
end
end
puts champion.inspect.to_s
if champion
meetings.create! week: week, paired_user: champion
champion.meetings.create! week: week, paired_user: self
else
[]
end
end
и вот что появляется в моем терминале:
Run options: include {:locations=>{"./spec/models/user_spec.rb"=>[117]}}
ok
#<User id: 1265, email: "[email protected]", first_name: "Hermione", last_name: "Granger", uid: "[email protected]", active: true, admin: false, created_at: "2013-09-15 18:09:16", updated_at: "2013-09-15 18:09:16", reset_date: "2013-04-22">
F
Failures:
1) test
Failure/Error: ginny.pair(User.with_meeting_for(week[1]), [], User.with_meeting_for(week[1]).keys.sort.reverse, week[2])
NameError:
undefined local variable or method `champion' for #<User:0x007f85189179f0>
# ./app/models/user.rb:64:in `pair'
# ./spec/models/user_spec.rb:133:in `block (2 levels) in <top (required)>'
Спросите себя: где заканчивается моя 'функция pair'? – raina77ow
Пожалуйста, вставьте весь код метода 'pair'. Было бы лучше, если бы он также был правильно отстроен. –
Хорошо, я только что добавил – borisn9