首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Rails在添加记录以分隔DB时更新另一个DB计数器字段

Rails在添加记录以分隔DB时更新另一个DB计数器字段
EN

Stack Overflow用户
提问于 2016-07-28 15:21:43
回答 2查看 37关注 0票数 0

我的Rails应用程序中有两个数据库,教师和教室。一个教室has_many老师和一个老师belongs_to教室。对于每个教室,我都有一个“教师数量”字段,该字段应该跟踪分配到特定教室的教师人数,而我希望这样做的方式是,每次向教师中添加一名新教师时,在教室中的“教师人数”计数器将在单击submit按钮后通过1更新。我环顾四周已经有一段时间了,虽然看起来很简单,但似乎找不到解决办法。谢谢你的帮助!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-07-28 15:31:47

在rails中,我们有一个计数器缓存的概念,您应该查看这个概念,请检查链接http://yerb.net/blog/2014/03/13/three-easy-steps-to-using-counter-caches-in-rails/

模型

代码语言:javascript
复制
class Classrooms < ActiveRecord::Base
  has_many :teachers
end

class Teachers < ActiveRecord::Base
  belongs_to :classroom, :counter_cache => true
end

您必须做的第一件事是在教室模型(教室表)中添加一个teachers_count列。

然后,计数器缓存将在您为教室添加或删除教师时自动更新计数。

票数 0
EN

Stack Overflow用户

发布于 2016-07-28 15:30:21

对于下面这样简单的事情,似乎有很多工作要做:

代码语言:javascript
复制
classroom = Classroom.find_by(id: classroom_id)
var number_of_teachers = classroom.teachers.count

如果你已经很好地定义了你的模型和它们之间的关系,你就不需要特定的领域来知道每个教室的教师人数。

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

https://stackoverflow.com/questions/38640551

复制
相关文章

相似问题

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