ruby-on-rails - 截断字符串而不在 Rails 中的单词中间进行切割

标签 ruby-on-rails ruby-on-rails-3 truncate

如何使用 Rails 3 将文本截断到最接近的位置,而不在单词中间进行剪切?

例如,我有字符串:

"Praesent commodo cursus magna, vel scelerisque nisl consectetur et. Aenean eu leo quam. Pellentesque ornare sem lacinia quam venenatis vestibulum."

如果我剪它,我想像这样剪:

"Praesent commodo cursus magna, vel scelerisque nisl ..."

而不是:

"Praesent commodo cursus magna, vel scelerisque nisl conse..."

最佳答案

如果将分隔符传递给 truncate 方法,它将执行自然分词,而不是在单词中间截断

这样的东西应该可以工作(如果您想要默认的 30 个字符,则可以将长度更改为您想要的长度,将其完全删除):

truncate("Praesent commodo cursus magna, vel scelerisque nisl consectetur et. Aenean eu leo quam. Pellentesque ornare sem lacinia quam venenatis vestibulum.", :length => 17, :separator => ' ')

有关截断选项的更多信息可以在 Documentation 中找到。

关于ruby-on-rails - 截断字符串而不在 Rails 中的单词中间进行切割,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8714045/

相关文章:

ruby-on-rails - 特定类型的多态所属关联

ruby-on-rails - Rails 3 数组 :Class 的未定义方法 `model_name'

java - 如何在不使用 math.round 或 %3f 等方法的情况下截断数字? AND 仅使用 if 语句,不能使用 indexOf

ruby-on-rails-3 - 在 ActiveRecord Rails 3.1 的向下迁移方法中截断表

html - 截断 html 表内字符串的另一端

ruby-on-rails - Rails 选择链接

ruby-on-rails - 与运算符(operator)从头开始的 Rails 授权

ruby-on-rails - 请求依赖项API期间出现Rails/Error Bundler::HTTPError

ruby-on-rails - 无法在控制台中保存记录

ruby-on-rails - 我可以将部分块传递到我在 Rails 3 中渲染的部分吗?