0

我目前在我的控制器中有这个:

@softwares = Software.find_by_sql
(
"SELECT s.id, s.vendor, s.title, s.edition, SUM(l.amount) AS amount FROM softwares s
 LEFT JOIN licenses l ON s.id=l.software_id GROUP BY s.vendor, s.title, s.edition"
)

哪个是它应该做的,但数字出现为 7.0 或 6.0 而不是 7 或 6 .. 我如何删除小数点?在我看来,我真的只有<%= l.amount %>

4

2 回答 2

2

我宁愿控制要查看的演示文稿。代替

<%= l.amount %>

放:

<%= number_to_currency l.amount, :precision => 0 %>

这里描述了这个辅助方法

附带说明一下,将 SQL 放入模型中可能是更好的设计。控制器然后做类似的事情@softwares = Software.all_with_licenses_amounts

于 2012-08-21T12:54:29.470 回答
0

它以小数形式出现,因为 l.amount 是小数

尝试

 "SELECT s.id, s.vendor, s.title, s.edition, CAST(SUM(l.amount) as UNSIGNED) AS amount 
  FROM softwares s 
  LEFT JOIN licenses l ON s.id=l.software_id GROUP BY s.vendor, s.title, s.edition"
于 2012-08-21T12:30:59.603 回答