Ruby on Rails 4 - 当nil时,where语句崩溃

时间:2016-05-01 21:13:57

标签: ruby-on-rails where

我正在尝试按姓氏和婚前姓名搜索姓名数据库。但是,如果婚前姓名为nil,则搜索崩溃。我用if / then语句创建了一个工作,但是想要在ruby中学习正确(更干净)的方法。

  if user.maiden_name.nil?        
    x = Alumni.where(firstname: user.first_name, lastname: user.last_name)
  else
    x = Alumni.where(firstname: user.first_name, lastname: [user.last_name, user.maiden_name])
  end

谢谢!

1 个答案:

答案 0 :(得分:0)

您可以通过添加应用于args数组的let来避免nil条件子句中的where值,如下所示:

#compact

但是你真的想要吗?