0

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

干杯卡尔

4

2 回答 2

0

truncate helper 方法需要一个可选的:separator. 由于 simple_format 使用<br />标签来指示段落,您应该能够执行以下操作:

truncate(simple_format(@company.description), length: 3, separator: '<br />')
于 2012-12-03T23:01:31.077 回答
-2

Personally, I'd round the text before putting it into a formatter. I'd assume you have a \r\n or \n in your text. Why format 1000 paragraphs if all you need is the first 3.

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

It's a function sure, but it's the fastest method.. if speed is important. (it always is, ALWAYS!) :)

于 2012-12-03T23:36:16.537 回答