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。。更新了问题。谢谢