我正在使用 simple_format(@company.description) 将文本制作成多个段落。在一页上,我只想展示前三段。是否有任何漂亮的 ruby 方法可以在这里提供帮助,或者我应该阅读我的正则表达式技巧,这些技巧已经过时了。
干杯卡尔
我正在使用 simple_format(@company.description) 将文本制作成多个段落。在一页上,我只想展示前三段。是否有任何漂亮的 ruby 方法可以在这里提供帮助,或者我应该阅读我的正则表达式技巧,这些技巧已经过时了。
干杯卡尔
truncate helper 方法需要一个可选的:separator
. 由于 simple_format 使用<br />
标签来指示段落,您应该能够执行以下操作:
truncate(simple_format(@company.description), length: 3, separator: '<br />')
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!) :)