Ruby中如何正确使用guard子句
How to correctly use guard clause in Ruby
本例中保护子句的正确使用方法是什么?
def require_admin
unless current_user && current_user.role == 'admin'
flash[:error] = "You are not an admin"
redirect_to root_path
end
end
尝试使用这些 https://github.com/bbatsov/ruby-style-guide#no-nested-conditionals 约定重写时,我不知道将 flash 消息放在哪里
您可以在此处使用return
语句。本质上,如果满足这些条件,则该方法无需继续,因此您可以提前退出。
def require_admin
return if current_user&.role == 'admin'
flash[:error] = 'You are not an admin'
redirect_to root_path
end
本例中保护子句的正确使用方法是什么?
def require_admin
unless current_user && current_user.role == 'admin'
flash[:error] = "You are not an admin"
redirect_to root_path
end
end
尝试使用这些 https://github.com/bbatsov/ruby-style-guide#no-nested-conditionals 约定重写时,我不知道将 flash 消息放在哪里
您可以在此处使用return
语句。本质上,如果满足这些条件,则该方法无需继续,因此您可以提前退出。
def require_admin
return if current_user&.role == 'admin'
flash[:error] = 'You are not an admin'
redirect_to root_path
end