只显示前几段。 Ruby on Rails

时间:2012-12-03 22:54:41

标签: ruby-on-rails

我使用simple_format(@ company.description)将文本分成若干段落。在一个页面上,我只想展示前三段。是否有任何漂亮的红宝石方法可以在这里提供帮助,或者我应该阅读我的正则表达技巧,这些技巧已经过时了。

干杯卡尔

2 个答案:

答案 0 :(得分:0)

truncate helper method采用可选的:separator。由于simple_format使用<br />标记来指示段落,因此您应该可以执行以下操作:

truncate(simple_format(@company.description), length: 3, separator: '<br />')

答案 1 :(得分:-2)

就个人而言,在将文本放入格式化程序之前,我会对其进行舍入。我假设你的文字中有\ r \ n或\ n。如果您需要的是第3个,为什么要格式化1000个段落。

def get_first_paragraphs(text, desired = 3)
   text.each_with_index do |character, index| 
      if(character == "\n")
         desiredParCount -= 1
         return text[0..index] if(desiredParCount <= 0)
      end
   end
   return text;
end

这是一个确定的功能,但它是最快的方法..如果速度很重要。 (它总是,总是!):)