基本 Ruby 逻辑 - 返回 True 或 False

Basic Ruby Logic - Returning True or False

我是 Rails 上 Ruby 的新手,坚持使用一些基本逻辑来使用我的 Rails check_in 方法 return "true" 或 "false"。下面的代码和逻辑正在运行,但它是 "ugly" 并且需要重构。

def check_in
  @user = User.find_by_username(params[:username])
  if @user && @user.authenticate(params[:token])
    return true
  else
    return false
  end
end    

更优雅的方法是什么?

因为您的 if 条件已经评估为您想要的布尔值,您可以简单地 return 它。此外,在 Ruby 中,您不需要显式使用 return @user && @user.authenticate(params[:token]),因为方法中最后一条语句的值将自动用作 return 值。

def check_in
  @user = User.find_by_username(params[:username])
  @user && @user.authenticate(params[:token])
end