Ruby on rails 想用ruby显示文本字段的前50或60个单词吗?

Ruby on rails 想用ruby显示文本字段的前50或60个单词吗?,ruby-on-rails,ruby,Ruby On Rails,Ruby,我有一个故事文本字段,希望在快照页面中显示前几行,比如该字段的前50个单词。我如何在Ruby(on Rails)中做到这一点呢?假设您的单词由空格分隔,您可以这样做 stories.split(' ').slice(0,50).join(' ') 大致与相同,但将尝试保留3个完整的句子(如果句子太长,则删去50个单词) 另外,如果这个文本有任何HTML,我的答案可能会在Rails应用程序中使用类似的东西来扩展(“monkey patch”)基本字符串类 我创建了lib/core\u exten

我有一个故事文本字段,希望在快照页面中显示前几行,比如该字段的前50个单词。我如何在Ruby(on Rails)中做到这一点呢?

假设您的单词由空格分隔,您可以这样做

stories.split(' ').slice(0,50).join(' ')
大致与相同,但将尝试保留3个完整的句子(如果句子太长,则删去50个单词)


另外,如果这个文本有任何HTML,我的答案可能会在Rails应用程序中使用类似的东西来扩展(“monkey patch”)基本字符串类

我创建了
lib/core\u extensions.rb
,其中包含:

class String
  def to_blurb(word_count = 30)
    self.split(" ").slice(0, word_count).join(" ")
  end
end
require 'core_extensions'
然后我创建了
config/initializers/load_extensions.rb
,其中包含:

class String
  def to_blurb(word_count = 30)
    self.split(" ").slice(0, word_count).join(" ")
  end
end
require 'core_extensions'
现在我在Rails应用程序中的所有字符串对象上都有了
to_blurb()
方法