获得价值数我有我的数据库名为“体验”的用户可以保存的值称为0-2岁,2-5岁,5-10年,10年以上的列。我的问题是如何计算这些值?我并不是在寻找所有的总和,而是试图计算该列中存在多少“2-5年”的值,并在视图中将其呈现给用户。Rails的:从数据库
所以在视图中,用户将看到该值从数据库表列名为经验,那么有多少作业发布并包含像这样的价值。
经验:
0-2年(3)
2-5岁(15)
目前我在视图中
<%= link_to "0-2 years", filtered_jobs_path(experience: '0-2 years', num_days_past: params[:num_days_past], search: params[:search]) %>
(<%= Job.where(experience: '0-2 years').size %>)<br />
我这样做读取使用大小比计数更好,因为如果数据库已经被加载,大小将不会再次调用数据库。我不确定我是否以最有效的方式执行此操作,可能我应该使用计数器缓存列?
下面是获得由我当前如何把它设置的电话,好像数据库正在不断即使我使用.size
(0.1ms) SELECT COUNT(*) FROM "jobs" WHERE "jobs"."experience" = ? [["experience", "0-2 years"]]
(0.1ms) SELECT COUNT(*) FROM "jobs" WHERE "jobs"."experience" = ? [["experience", "2-5 years"]]
(0.1ms) SELECT COUNT(*) FROM "jobs" WHERE "jobs"."experience" = ? [["experience", "5-10 years"]]
(0.1ms) SELECT COUNT(*) FROM "jobs" WHERE "jobs"."experience" = ? [["experience", "10+ years"]]
Job Load (0.2ms) SELECT "jobs".* FROM "jobs" LIMIT ? OFFSET ? [["LIMIT", 5], ["OFFSET", 0]]
(0.1ms) SELECT COUNT(*) FROM "jobs"
CACHE (0.0ms) SELECT COUNT(*) FROM "jobs"
的唯一的事情就是链接不下令我想在页面上了路。你知道我怎样才能得到链接返回,所以它将在0-2年,2-5年,5-10年,10年以上的顺序? – Scott
遗憾的是不工作,得到“未定义的方法'每个”近亲:NilClass”从<%@ exp_names.each做未来|名称| %> – Scott
现在很好,我只需在索引操作中添加'@exp_names'和'@exp_counts'。感谢所有的帮助,非常感谢! – Scott