Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/57.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 如果值存在,是否有帮助程序显示逗号分隔符?_Ruby On Rails_Ruby_Ruby On Rails 3_Ruby On Rails 3.2 - Fatal编程技术网

Ruby on rails 如果值存在,是否有帮助程序显示逗号分隔符?

Ruby on rails 如果值存在,是否有帮助程序显示逗号分隔符?,ruby-on-rails,ruby,ruby-on-rails-3,ruby-on-rails-3.2,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 如果存在等级、百分比和日期,则上述帮助器工作正常 但是,还有其他需要处理的场景。例如,如果grade和percent都为空,那么我将得到以下输出: ,12/12/2012 如果日期为空,则: 10 % , 我可以做一些if/else语句来处理上述情况,但我想知道是

我有以下助手:

def results(grade, percent, date)
  "#{grade} #{percent} , #{date}"
end
基本上,我希望我的输出看起来像:

10 %, 12/12/2012
如果存在
等级
百分比
日期
,则上述帮助器工作正常

但是,还有其他需要处理的场景。例如,如果
grade
percent
都为空,那么我将得到以下输出:

,12/12/2012
如果
日期
为空,则:

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


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

我脑海中出现的第一个问题是将其拆分为一个数组。对于第一部分,我将使用
lstrip
删除前后的空格,然后用date连接

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

为什么要将百分比作为参数传递。它总是假定为“%”。我说的对吗?事实上percernt会被单位取代。它可以是任何东西您所说的
单位
日期
是什么意思?您只有
等级
百分比
日期
。在其他情况下,您显示当前如何处理它们,但不显示希望如何处理它们。@sawa。。更新了问题。谢谢