基本的Ruby逻辑 - 返回正确或错误

时间:2015-02-11 02:11:31

标签: ruby-on-rails methods logic

我是Ruby on Rails的新手,并坚持使用一些基本逻辑来让我的Rails check_in方法返回" true"或"假"。下面的代码和逻辑工作正常,但它很丑陋"并需要重构。

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

这是一种更优雅的方法吗?

1 个答案:

答案 0 :(得分:1)

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

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