我有一個對象列表,其中一個屬性爲:text
。我只想打印每個:text
的前250個字符。如何從文本中打印確切數量的字符?
Rails有沒有簡單的方法來做到這一點?
下面是即時通訊做我的迭代:
[email protected] do |c|
%tr
%td= c.id
%td= c.description
%td
其中,description
是文本。
我有一個對象列表,其中一個屬性爲:text
。我只想打印每個:text
的前250個字符。如何從文本中打印確切數量的字符?
Rails有沒有簡單的方法來做到這一點?
下面是即時通訊做我的迭代:
[email protected] do |c|
%tr
%td= c.id
%td= c.description
%td
其中,description
是文本。
您可以使用truncate
:
c.description.truncate(250, :separator => ' ')
它會爲你自動添加"..."
,和你有分離器選項,這樣你就不必擔心在中間被砍傷的話。
完美,謝謝先生 – Leo
不客氣! – NicoSantangelo
是的,它只是一般的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
雖然也許你應該考慮這個代碼在你的模型中可能比在視圖中更好嗎?
所以你正在尋找truncate? http://apidock.com/rails/String/truncate – phoet