我在Ruby on Rails中構建的一個非常簡單的博客應用程序的主頁上顯示最近的評論。我想限制從評論表的「正文」列顯示的字符數。我假設我可以在代碼的末尾添加一些代碼,但我不知道這會是什麼,因爲我對Ruby和Rails都是新手。在視圖中限制字符/單詞 - ruby on 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 -%>
只是好奇(不一個Rails用戶):這也會起作用嗎? <%= h comment.body [0,80] +「...」%> – steenslag 2010-04-13 21:38:24
這幾乎是truncate在底下做的事情,但它也會檢查長度以知道是否要在結束 – Corey 2010-04-13 23:15:58
只是想補充說truncate不是多字節安全的(ruby 1.8,rails 2.3.5,不確定關於ruby 1.9)。它在指定的字節處截斷,如果你有一個unicode字符串,輸出將會變短(少於指定長度的字符)。最後,你最終也會遇到一個破碎的角色。當然,如果使用ASCII或任何其他8位字符編碼,沒有什麼可擔心的。 – Teoulas 2010-04-13 23:40:41