0

考虑数据库表(文本)中的一段(约 400 个字符)。喜欢

离复活节只有一周的时间了。我已经开始我的假期了。在这个复活节期间拜访我叔叔的想法很棒。他的农场在康沃尔郡的这个村庄。这个村庄非常宁静和美丽。我已经问过我的姨妈是否可以带上我的狗山姆。我向她保证我会控制住他。10 月,他发起了攻击,并吃了她农场里的一些动物。但他是家庭的一员,我不能丢下他。

但我只需要从中检索有限的字符,比如 ~150 个字符。

离复活节只有一周的时间了。我已经开始我的假期了。在这个复活节期间拜访我叔叔的想法很棒。他的农场在康沃尔郡的这个村庄。这个村子很安静……

rails 中是否有任何功能或仅truncate(:limit,:option{})适用于该输出?

4

2 回答 2

2

假设您有一个Passage带有 field的模型text,您可以像这样选择特定的字段(并在其中使用 SQL 函数):

passages = Passage.select("id, LEFT(text,10) as text_short, CHAR_LENGTH(text) as text_length")
# => [#<Passage id: 1>, #<Passage id: 2>, #<Passage id: 3>]
passages.first.id
# => 1
passages.first.text_short
# => "There is o"
passages.first.text_length
# => 453
于 2012-08-16T15:19:33.130 回答
-1

为什么不获取整个字符串而只使用前 150 个字符?我怀疑它会减慢速度。

somehow_access_string[0...150] + '...'

于 2012-08-16T21:10:06.677 回答