Когда пользователь пытается войти в систему и вводит имя пользователя, которое не существует, вместе со своим паролем, я хочу, чтобы метод с именемisting_user продолжал показывать меню входа в систему (login_screen_selection). Проблема состоит в том, что как только меню появляется снова, и пользователь вводит «1», который должен снова запросить у них имя пользователя, программа завершается. Я хочу, чтобы метод вел себя как бесконечный цикл, который может прерваться, только если вы введете имя пользователя, которое уже существует
def process_login
case login_screen_selection
when '1'
existing_user
when '2'
create_account
when '3'
exit_application
else
process_login
end
end
def login_screen_selection
puts "1. Login"
puts "2. Create account"
puts "3. Exit"
gets.chomp
end
def existing_user
puts "Please Enter Username"
get_username = gets.chomp
puts "Please Enter Password"
get_password = gets.chomp
customer = Customer.find_by(
username: get_username,
password: get_password
)
if customer.nil? do
puts 'Sorry, username and/or password combination not valid. Please try again'
login_screen_selection
break if !customer.nil?
end
end