如果值存在,是否有帮助器显示逗号分隔符?

时间:2013-07-22 15:17:50

标签: ruby-on-rails ruby ruby-on-rails-3 ruby-on-rails-3.2

我有以下帮助:

def results(grade, percent, date)
  "#{grade} #{percent} , #{date}"
end

基本上我希望我的输出看起来像:

10 %, 12/12/2012

如果存在gradepercentdate,则上述帮助程序正常工作。

但是,还有其他需要处理的方案。例如,如果gradepercent都为空,那么我会得到以下输出:

,12/12/2012

如果date为空,则:

10 % ,

我可以做一堆if / else语句并处理上述情况,但我想知道是否有更聪明的方法来处理这个问题?

在上述场景中,我不希望显示逗号。

1 个答案:

答案 0 :(得分:1)

我头脑中的第一个就是把它分成一个阵列。对于第一部分,我将使用lstrip删除之前和之后的空格,然后使用日期加入。

def results(amount, unit, date)
  ["#{amount} #{unit}".lstrip , date].reject(&:blank?).join(', ')
end