[英]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.