Ответ 1
Попробуйте обрезать вид помощника
<%=h truncate(comment.body, :length => 80) %>
Я показываю последние комментарии на главной странице очень простого приложения для блога, которое я создаю в Ruby on Rails. Я хочу ограничить количество символов, отображаемых в столбце "тело" таблицы комментариев. Я предполагаю, что могу просто добавить что-то в конец кода для <% = 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 -%>
Попробуйте обрезать вид помощника
<%=h truncate(comment.body, :length => 80) %>
Я просто нашел другой способ (если вы не хотите добавлять "..." )
<%= comment.body.first(80) %>
Как сказано в RoR API для строки:
first (limit = 1)
Возвращает первый символ. Если задан предел, возвращает подстроку с начала строки до достижения предельного значения. Если заданный предел больше или равен длине строки, возвращает self.
comment = "1234567890"
comment.first(5)
# => "12345"
comment.first(10)
# => "1234567890"
comment.first(15)
# => "1234567890"
Если вы используете rails 4.2
или выше, вы можете использовать метод truncate_words
.
Например:
"В мире, где все потрясающе". Truncate_words (3)Вывод: "В мире..."