2

の 1 つの属性を持つオブジェクトのリストがあります:text。それぞれの最初の 250 文字だけを印刷したい:text

Railsでそれを行う簡単な方法はありますか?

これが私の反復のやり方です:

-@cows.each do |c|
        %tr
          %td= c.id
          %td= c.description
          %td

ここで、descriptionテキストです。

4

2 に答える 2

5

使用できますtruncate

c.description.truncate(250, :separator => ' ')

自動的に追加"..."され、区切りオプションがあるため、途中で単語が切り刻まれることを心配する必要はありません.

于 2013-07-10T12:30:57.467 に答える
3

はい、これは通常の 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

おそらく、このコードがビューよりもモデルの方が優れているかどうかを検討する必要がありますか?

于 2013-07-10T12:28:12.110 に答える