除非为nil,否则不要在数组上插入

Jea*_*ean 1 ruby-on-rails mongoid

我正在尝试查找和记录,记录是否为零,我不希望它在我的阵列上像这样:

@kid <<  Kid.find_only_kid(k) unless nil
Run Code Online (Sandbox Code Playgroud)

但是当我得到一个nil时,记录会插入到数组中.

这是我的模型上的find_only_kid方法的代码:

  def self.find_only_kid(kid)
    Kid.where(_id: kid.to_s, parent: false, teacher: false).first rescue nil
  end
Run Code Online (Sandbox Code Playgroud)

Aru*_*hit 7

你的代码应该是:

kid = Kid.find_only_kid(k)
@kid << kid unless kid.nil?
Run Code Online (Sandbox Code Playgroud)

注意:

当变量名称用于保存集合时,它应该kids代替kid.并且方法名称应该find_only_kids代替find_only_kid.

  • `@kid << kid if kid.present?`如果你使用rails,它将更具可读性. (2认同)