我想删除数组中的最后一个逗号。例如,self.committed.join(', ').titleize
生成"太阳,星期一,星期二,星期三,星期四,星期五,星期六,"。
我不知道答案是否以某种方式删除了数组""
末尾的空["sun", "mon", "tue", "wed", "thu", "fri", "sat", ""]
,这样我就可以使用to_sentence
赢得了#39}看起来像这样"太阳,星期一,星期二,星期三,星期四,星期五,星期六,和#34;
或者,join
是否有办法阻止其他逗号?
模型
serialize :committed, Array
分贝
t.text "committed", default: "---\n- sun\n- mon\n- tue\n- wed\n- thu\n- fri\n- sat\n"
我不想更改serialize
或db
,但作为最后的手段,我可以对此进行更改。
答案 0 :(得分:3)
不清楚为什么数组有一个空字符串作为最后一个元素,但很容易跳过它:
self.committed[0..-2].to_sentence.titleize
或者:
self.committed.reject(&:blank?).to_sentence.titleize
后者将跳过所有空白元素,而前者将跳过最后一个元素,无论其内容如何。
如果您想在致电to_sentence
之前单独对单词进行大写(以避免"以及"大写),只需使用map
:
self.committed[0..-2].map(&:titleize).to_sentence