问题标签 [counter-cache]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ruby-on-rails - Rails counter_cache 的关联正在使用 update_attributes 进行更新;counter_cache 列未更新
我正在运行一个使用 counter_cache 列的 Rails 2.3.14 应用程序,类似于:
如果我直接将我的工作室分配给一个组,计数器缓存会更新得很好。
但是,如果我将 group_id 批量分配给车间,在传统的 Rails 控制器样式中,缓存不会更新。我认为这是 2.3.14 中的一个错误。
它也存在于旧版本中: http ://railsforum.com/viewtopic.php?id=34473
但是,发布者的“解决方案”引入了一个重复计算错误 - 如果您直接分配,您将获得默认的 rails updater和callback-one,但它确实适用于 update_attributes。
所以,我可以做几件事——我可以从 params 哈希中去掉 group_id 并直接分配它。或者我可以在我的 Workshop 模型上对 update_attributes 进行猴子补丁来为我执行此操作。
我想避免删除 params 哈希,因为这不直观且不自我记录,此外,任何可能调用 @workshop.update_attributes 的人都会遇到相同的错误。Monkey-patching update_attributes 似乎是最安全的,但也是完全错误的。
还有其他建议吗?
谢谢!
ruby-on-rails - counter_cache 没有增加......我做错了什么?
这看起来超级简单,让我的生活变得悲惨。导轨 3.1.3。
编辑:根据下面的建议将 t.integer "versions_count", :default => 0 添加到迁移中,回滚,重新创建数据库。现在versions_count保持在0。
安慰:
请帮忙,把我逼疯了。
编辑 2:删除关联记录时,计数器似乎减去了它的值。但它永远不会得到补充。
ruby-on-rails - Rails :counter_cache 没有触发 after_update 回调
所以,我有一个 Folder 和一个 FolderItem 模型。
更新
我正在使用 counter_cache 来保留单个文件夹的数量。但是一个文件夹可能是另一个文件夹的父文件夹,我希望父文件夹具有所有子文件夹的 counter_cache 总和加上它自己的 counter_cache。
为此,我尝试将 after_update 方法缓存在 counter_cache 列中所做的更改,但不知何故,在创建新的 FolderItem 时不会调用此方法。
ruby-on-rails - _改变了吗?使用 counter_cache 时的方法
添加新评论时,我需要更新属性:average_rate。我有comments.rb
并在 page.rb
和 page.rb 中的 update_average_rate 方法
但它不起作用。当我在做
在 update_average_rate 方法中,它输出 "false" ,但 comments_count 已更改。我做错了什么?提前致谢
mysql - 如何优化 ORDER 条件以防止文件排序?
当我想在 MySQL 中按条件排序查询时,如何避免文件排序?
has_videos
缓存布尔列和计数会更好吗?
ruby-on-rails - Rails counter_cache 平衡
目前我正在计算用户余额
我正在运行一个查询,减去添加所有用户存款并减去他们所有的购买。当有数千个事务时,这将无法很好地扩展。计算用户余额的最佳方法是什么?有没有办法自定义 counter_cache 来计算每个用户?
ruby-on-rails - Rails 计数器缓存不适用于生产
Rails 3.1.4(ruby 1.8.7)的计数器缓存机制有一个奇怪的问题。当我在开发服务器上运行我的应用程序时,一切正常。切换到生产环境之后,comments_count 列每次我只添加一条评论时都会增加 +2。
我查看了日志,增量查询在那里显示了两次:
我一整天都在努力解决这个问题,但我不知道出了什么问题。在开发模式下一切正常。从 Rails2 升级后出现问题。
cakephp - Cakephp hasAndBelongsToMany 与计数器缓存?
任何人都知道如何让countercache在HABTM设置上工作?
ruby-on-rails - 关联关联的计数器缓存
我有一个论坛模型,其中有很多讨论。每个讨论都有很多帖子。讨论或多或少只是帖子对象的集合。
现在,我想在论坛中为该论坛讨论中包含的帖子提供一个 counter_cache。
所以真的,似乎我应该使用一个:through
关联而不是两个单独的关联来完成这个。
但是,我找不到任何建议混合使用 has_many :through 和 has_one :through 关联的参考,仅适用于一对一和多对多,而不适用于一对多。
像上面那样可取,还是我应该手动处理计数器缓存?
ruby-on-rails - :counter_cache => true 用于存储总和
我有桌子users
和scores
。以下是关联:
该表users
具有名为 的列scores_count
。在此列中,我存储表中所有值的总和scores
。
我想用这种方式将所有的总和存储scores
在列中scores_count: :counter_cache => true
但:counter_cache => true
只保存表中的行数scores
。有没有类似的方法来存储表中所有值的总和scores
?还是我必须自己执行此任务?