bga*_*oci 31 ruby ruby-on-rails
我在Ruby on Rails上构建的一个非常简单的博客应用程序的主页上显示最近的评论.我想限制从comments表的"body"列显示的字符数.我假设我可以在<%= h comment.body%>的代码末尾添加一些东西,但我不知道那将是什么,因为我是Ruby和Rails的新手.
这是我在/views/posts/index.html.erb文件中的代码:
<% Comment.find(:all, :order => 'created_at DESC', :limit => 5).each do |comment| -%>
<p>
<%=h comment.name %> commented on
<%= link_to h(comment.post.title), comment.post %><br/>
<%=h comment.body %>
<i> <%= time_ago_in_words(comment.created_at) %> ago</i>
</p>
<% end -%>
Run Code Online (Sandbox Code Playgroud)
小智 72
尝试截断视图助手
<%=h truncate(comment.body, :length => 80) %>
Run Code Online (Sandbox Code Playgroud)
max*_*m10 27
我刚发现另一种方式(如果你不想添加"......")
<%= comment.body.first(80) %>
Run Code Online (Sandbox Code Playgroud)
第一个(限制= 1)
返回第一个字符.如果提供了限制,则从字符串的开头返回子字符串,直到达到限制值.如果给定的限制大于或等于字符串长度,则返回self.
comment = "1234567890"
comment.first(5)
# => "12345"
comment.first(10)
# => "1234567890"
comment.first(15)
# => "1234567890"
Run Code Online (Sandbox Code Playgroud)
如果您使用rails 4.2或以上,则可以使用truncate_words方法.
例如:
"在一切都很棒的世界里".truncate_words(3)输出:"在一个世界......"
| 归档时间: |
|
| 查看次数: |
29190 次 |
| 最近记录: |