【Rails】説明文などの文字の表示数を省略して制限する「truncate」

例えば、投稿機能を実装させた「post」モデルがあったとして、
一覧ページ(index.html.erb)を作成したとします。

一覧ページ上には、その投稿がどのような内容なのか、ユーザーに把握してもらうために、投稿内容(description)を50文字だけ表示させたい。

そのような時には、以下のビューを作成します。

<% @posts.each do |post| %>
  <%= post.postname %>

  <%= post.description.truncate(50) %>

  <%= link_to "詳細をみる", post_path(post) %>

<% end %>



重要なのは、ここです。

<%= post.description.truncate(50) %>

descriptionに対して
「truncate」というヘルパーメソッドを使うことによって、
表示する文字数を制限できます。





よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
目次