寻找更好的方法来检查不是零和活动记录数大于零

时间:2017-08-17 15:50:39

标签: ruby-on-rails

目前我想打印一份包含许多细节的报告,我目前所做的就像下面的示例代码

@report = Report.first
@details = @report.details
if @details
  # I'm using this code to check not nil
  if @details.count > 0
  # if it's not nil then I check if there is a record
    # print detail table
  end
end

如果我看起来更好的方法来检查不是nil并且记录数大于零。

3 个答案:

答案 0 :(得分:2)

  

any?()

     

如果有任何记录,则返回true。

@report = Report.includes(:details).first
@details = @report.details
if @details.any?
  # ...
end

答案 1 :(得分:1)

根据您正在运行的Rails版本,您可以改为use the try method

if @report.try(:details).try(:any?)
    # logic
end

答案 2 :(得分:0)

或许如下:

if @report.details.present?
#rest of code
end

下面有任何问题

希望它有所帮助!