私は自分のブログのようなアプリケーションに問題があります。Ruby on Railsのレンダリングされた投稿で、切り詰める(または表示される単語の量を制限する)のは可能ですか?
私は本質的に_post部分を使って表示される投稿を持っています。私はこの2つの異なる方法を使用します:フィードの一部として(すべての投稿を表示する)、特定の投稿がクリックされたとき。
投稿が投稿全体に含まれている場合、私は物事をきれいに保つために表示される文字数を制限したいと考えています。これは、ポストがフィードに表示されている方法です。<%に
<% @posts_by_month.each do |monthname, posts| %>
<div style="clear:left"><h2><%= monthname %></h2></div>
<% for post in posts %>
<div style="float:left;width:33%">
<ol class="posts">
<% if post.status == 'new' %>
<div class="new-post">
<%= link_to edit_post_path(post) do %>
<%= render post.first(80) %>
<% end %>
</div>
<% else %>
<div class="edited-post">
<%= link_to post_path(post) do %>
<%= render post %>
<% end %>
</div>
<% end %>
</ol>
</div>
<% end %>
私はラインを変更<% =レンダリングポスト%> = post.first(80)をレンダリング%>最初の80文字に制限します私はエラーが発生します: "#< Post:0xc5785e0>"の未定義メソッド `first '。トランケートでも同じことが起こります。
切り捨てを_postの部分に入れることはできません。なぜなら、特定の投稿がクリックされたときに切り捨てるためです。これは私が望むものではありません。投稿のこのフィードのために投稿を一定の文字数に制限するにはどうすればよいですか?
私のポスト部分を追加するように編集:当然
<div id="post-<%= post.id %>">
<span class="timestamp">
<%= post.created_at.strftime('%A, %b %d')%>
<span class="content"><%= post.content %></span>
</span>
</div>
は、あなたが '' link_to'の内側にやっrender'は何 – Sajin
部分あなたの投稿を共有していただけますか? – Pavan
これを試してください。https://apidock.com/rails/String/truncate –