我有一个对象列表,其中一个属性为:text
。我想只打印每个:text
的前250个字符。
Rails中有没有简单的方法可以做到这一点?
以下是我如何进行迭代:
-@cows.each do |c|
%tr
%td= c.id
%td= c.description
%td
其中,description
是文字。
答案 0 :(得分:5)
您可以使用truncate
:
c.description.truncate(250, :separator => ' ')
它会自动为您添加"..."
,并且您有分隔符选项,因此您不必担心在中间切断单词。
答案 1 :(得分:3)
是的,这只是普通的Ruby代码:
%td= c.description[0..249]
string[n..m]
将为您提供string
的子字符串,从n
元素开始,以m
结尾。见http://ruby-doc.org/core-2.0/String.html#method-i-5B-5D
虽然你可能应该考虑一下这个代码在你的模型中是否比在视图中更好?