首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我应该使用哪个many_to_many模型来提高数据库查询的效率?

我应该使用哪个many_to_many模型来提高数据库查询的效率?
EN

Stack Overflow用户
提问于 2013-02-18 09:03:07
回答 1查看 32关注 0票数 0

目前,在我的应用程序中,我有以下模型:

  • 学生(尚未与其他模型连接)
  • Dojo:has_many :training_times
  • TrainingTime:belongs_to :dojo

我想要一个学生有很多训练时间,训练时间有很多学生。

目前,在我的学生控制器中,我有:

代码语言:javascript
复制
def show
  @student = Student.includes(:senseis).find(params[:id])
  @times = TrainingTime.includes(:dojo).order("time ASC")
  @times = sort_by_place_and_day(@times)
end

然后,我将其表述为:

如果培训时间与当前学生相关联,则我希望将其突出显示为红色,如下所示:

代码语言:javascript
复制
<% if time.students.exists?(@student) %>
  <td class="orange">...</td>
<% else %
  <td class="normal">...</td>
<% end % >

所以我的问题是:每次都会再次查询数据库吗?我如何关联/包括这两个模型,以使它不?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-02-18 09:58:49

对我来说,解决这个问题的最有效的方法是通过js。使用erb/haml显示所有可用的培训时间,然后添加一个js代码,该代码将遍历与学生相关的每个培训时间。js代码只会更改td的类,这正是您想要的。因此,最多只能得到3个查询,学生,所有的培训时间和学生的培训时间。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14932627

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档