Ruby on rails 仅显示post中的一些单词作为预览

Ruby on rails 仅显示post中的一些单词作为预览,ruby-on-rails,ruby-on-rails-3,ruby-on-rails-3.1,Ruby On Rails,Ruby On Rails 3,Ruby On Rails 3.1,我使用的是RubyonRails3.2.1和model@post。问题是,我只想在我的第一个应用程序页面上显示第一段或一些单词,就像预览一样,而不是全部内容。我怎么能做到 索引: <% @posts.each{|posts| %> <h1 class="title"><%= link_to posts.title, posts %></h1> <p class="byline" style="text-

我使用的是RubyonRails3.2.1和model@post。问题是,我只想在我的第一个应用程序页面上显示第一段或一些单词,就像预览一样,而不是全部内容。我怎么能做到

索引:

<% @posts.each{|posts| %>
        <h1 class="title"><%= link_to posts.title, posts %></h1>
            <p class="byline" style="text-align: right; font-weight: bold;">Raksts izveidots: <%= posts.created_at.utc.strftime("%d.%m.%Y") %></p>
            <div class="entry">
                <p><%= raw posts.content %></p>
            </div>
        <p class="meta"><a href="#" class="more">Read More</a> &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; <a href="#" class="comments">Comments</a> (33)</p>           
    <% } %>

Raksts点:

(33)


也许我不理解这个问题,但如果内容是字符串

posts.content[0,20]

将为您提供前20个字符。

或者您可以使用truncate html gem-


它给你第一个字符,不管有多少个字符,并确保所有html标记都正确关闭。

你可以尝试和的组合,两者都是标准的ActionView帮助程序。当我想要更多的随机文本样本时,我喜欢摘录:

sanitize(excerpt(post.content,"Some key text",240))
如果您知道要显示第一段或该段的一部分,那么我认为Truncate将是一个很好的选项,如@Edward notes或Sanitize与@ERicM方法的组合,例如:

sanitize(posts.content[0,20]). 
.

这同样有效:)


这基本上是说“打印单词0到100”

您可以使用 Rails 4.2上的

前18个字符

我只是认为内容是干净的。这不是一个很好的假设。简单又简单!谢谢!:)
<%= posts.content.split[0..100].join(" ") %>