当我的页面加载时,它会呈现Highcharts数据(如[1,2,5,10,40]
)
控制器
@server = Server.find(params[:id])
@statuses = @server.statuses.where(:created_at => 1.days.ago..Time.now)
@statuses.each do |status|
if status.players.nil?
@chartData << 0
else
@chartData << status.players
end
end
查看
... ,"data": <%=chartData.to_a%> ...
但是在这段代码中,我遇到了性能问题。
加载每个页面,它会获得具有多个查询的所有@statuses
。 (不是单个查询),页面变慢。
我是否可以仅使用像MySQL(SELECT * FROM sometable
)这样的单查询来获取所有数据?
加入
抱歉,我混淆了一些代码。
答案 0 :(得分:0)
试试此代码
@statuses = Server.includes(:statuses).where(:created_at => 1.days.ago..Time.now)
@statuses.each do |status|
if status.players.nil?
@chartData << 0
else
@chartData << status.players
end
end