2011-04-12 55 views
1

近 「total_entries」 使用RoR的2.3.8顯示在Rails的

通常我們有下面的代碼:

Showing <%= @shops.total_entries %> shops in Canada. 

產生的結果是:

Showing 46 shops in Canada 

,如果我想讓它什麼顯示下舍入值:

Showing 40+ shops in Canada 

而對於<總共有10個條目,它應該顯示確切的數字。

謝謝。

回答

2
def round(total) 
    total > 10 && total%10 != 0 ? [total/10*10,"+"].join : total.to_s 
end 

Showing <%= round(@shops.total_entries) %> shops in Canada. 

,當然它會更好包裹它作爲一個模型方法

class Shop < ActiveRecord::Base 
    def self.round 
    total = count 
    total > 10 && total%10 != 0 ? [total/10*10,"+"].join : total.to_s 
    # instead of using `[total/10*10,"+"].join` you can use `(total/10*10).to_s+"+"` 
    end 
end 

@shops = Shop.were(:region => "Canada") 

Showing <%= @shops.round %> shops in Canada. 
+0

奇妙。謝謝! – Victor 2011-04-12 13:56:16

+0

我已經更新了一些答案 – fl00r 2011-04-12 14:01:14