簡體   English   中英

在Rails中計算日期列

[英]Counting Date Columns in Rails

我對如何計算約會感到困惑。 我有3個不同的列:demodate1,demodate2,demodate3

如果demodate1存在,我想將其計為1,如果存在demodate 2,我想將其計為1,如果demodate3存在,我想將其計為1.如果存在多於1個,我想將它們全部加在一起。

我怎樣才能做到這一點?

這是我對代碼的嘗試:

      def demosheld
        if demodate1.present? or demodate2.present? or demodate3.present?
          demodate1.count + demodate2.count + demodate3.count
        end   
      end
def demosheld
  count = 0
  count = count + (demodate1.present? ? 1 : 0)
  count = count + (demodate2.present? ? 1 : 0)
  count = count + (demodate3.present? ? 1 : 0)
end

編輯:

其他選擇是

[demodate1, demodate2, demodate3].inject{|sum,date| sum + date.present? ? 1 : 0 }

sum = 0
[demodate1, demodate2, demodate3].each { |date| sum += date.present? ? 1 : 0 }

一些注入魔法怎么樣?

def demosheld
  [demodate1, demodate2, demodate3].inject(0) do |sum, date|
    sum + (date.present? ? 1 : 0)
  end
end

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM