0

我有一个汇总调查结果的网络应用程序。在调查中,每个调查对象都会选择他们的性别和年龄范围(例如男性,18-30 岁)。然后,受访者回答两个关于他们对某个主题的兴趣的问题(每个问题的范围为 1-100)。

我希望网络应用程序的用户能够通过各种人口统计组合来削减调查结果。例如,如果用户想查看 18-30 岁男性中每个问题的平均分数,他们会从一个选择框中选择男性,从第二个选择框中选择 18-30。

使用以下方法,我已经能够获得与年龄和性别的所有组合相关的分数列表:

def averagedemo_score
    scores.select("AVG(scoreone) as avg_demoscoreone, AVG(scoretwo) as avg_demoscoretwo, gender").group("gender", "age")
end    

这在我的控制器中:

@demogenagescore = @athlete.averagedemo_score.to_a.sort_by{|e| e[:gender]}

我遇到的问题是创建一种仅显示与选择框中选择的内容相对应的分数的方法。例如,第一个选择框的代码是:

<%= f.select :gender, options_for_select([[''],['Male'],['Female']], :selected => :gender) %>

任何解决此问题的帮助将不胜感激。如果您需要更多信息,请告诉我。谢谢!

4

0 回答 0