の 1 つの属性を持つオブジェクトのリストがあります:text。それぞれの最初の 250 文字だけを印刷したい:text。
Railsでそれを行う簡単な方法はありますか?
これが私の反復のやり方です:
-@cows.each do |c|
%tr
%td= c.id
%td= c.description
%td
ここで、descriptionテキストです。
の 1 つの属性を持つオブジェクトのリストがあります:text。それぞれの最初の 250 文字だけを印刷したい:text。
Railsでそれを行う簡単な方法はありますか?
これが私の反復のやり方です:
-@cows.each do |c|
%tr
%td= c.id
%td= c.description
%td
ここで、descriptionテキストです。
使用できますtruncate:
c.description.truncate(250, :separator => ' ')
自動的に追加"..."され、区切りオプションがあるため、途中で単語が切り刻まれることを心配する必要はありません.
はい、これは通常の Ruby コードです。
%td= c.description[0..249]
string[n..m]th 要素でstring始まり、 th で終わるの部分文字列が得られます。http://ruby-doc.org/core-2.0/String.html#method-i-5B-5Dを参照nm
おそらく、このコードがビューよりもモデルの方が優れているかどうかを検討する必要がありますか?