2

我有一个对象列表,其中一个属性为:text. 我只想打印每个: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]会给你一个子串string,从n第 th 元素开始,到第 th 结束m。见http://ruby-doc.org/core-2.0/String.html#method-i-5B-5D

尽管也许您应该考虑此代码在您的模型中是否比在视图中更好?

于 2013-07-10T12:28:12.110 回答