【发布时间】:2011-12-19 11:15:00
【问题描述】:
在 ruby on rails 应用程序中,我有一个名为 test_details 的表,其中包含以下字段:
id,
profileId,
testName,
testId,
dateCovered,
levelCompleted,
userResult,
unit
这里levelCompleted 可以有五分之一的值:
l1, l2, l3, l4, l5
我想创建一个报告以根据 testName 及其百分比来查找每个级别的计数
像这样:
testID ll l2 l3 l4 l5
-------------------------------------------------------
test1 25(25%) 45(35.2%) 12(10%) 12(10%) 15(12%)
test2 25(25%) 45(35.2%) 12(10%) 12(10%) 15(12%)
test3 58(25%) 445(35.2%) 145(10%) 42(10%) 25(12%)
(数值和百分比不是精确值)
如何在控制器和视图中执行此操作?
我的控制器代码:
@all_tests = TestDetails.count
@test_details = TestDetails.select("DISTINCT(testName)")
puts(@test_details)
@test_details.each do | test_details |
@test_name = test_details["testName"];
@level1_total = TestDetails.where("testName =? and levelCompleted =? and dateCovered is ?",test_details["testName"],1,nil).count
@level1_total_percent = (@level1_total/@all_tests.to_f)*100
@level2_total = TestDetails.where("testName =? and levelCompleted =? and dateCovered is ?",test_details["testName"],2,nil).count
@level2_total_percent = (@level2_total/@all_tests.to_f)*100
@level3_total = TestDetails.where("testName =? and levelCompleted =? and dateCovered is ?",test_details["testName"],3,nil).count
@level3_total_percent = (@level3_total/@all_tests.to_f)*100
@level4_total = TestDetails.where("testName =? and levelCompleted =? and dateCovered is ?",test_details["testName"],4,nil).count
@level4_total_percent = (@level4_total/@all_tests.to_f)*100
@level5_total = TestDetails.where("testName =? and levelCompleted =? and dateCovered is ?",test_details["testName"],5,nil).count
@level5_total_percent = (@level5_total/@all_tests.to_f)*100
结束
【问题讨论】:
-
@m_x 我想要一个类似于上面显示的表结构的视图..
-
好的,我下班后试试。铜
-
@m_x 好的……谢谢……我也在尝试一些工作……
-
@m_x ,我试过了,但还没有解决方案...
-
回答并编辑了您的帖子以使其更清晰。
标签: ruby-on-rails ruby-on-rails-3 model-view-controller