gpt4 book ai didi

ruby-on-rails - 访问 ruby​​ 计数器缓存

转载 作者:行者123 更新时间:2023-12-04 03:46:42 25 4
gpt4 key购买 nike

我正在使用 acts_as_taggable_on_steroids 的一个分支作为学习练习。我正在查看的版本做了一些我不明白的东西来计算标签计数。所以我想我会做一个使用 PORC(普通旧 Rails 计数器)的版本:

class Tagging < ActiveRecord::Base #:nodoc:
belongs_to :tag, :counter_cache => "tagging_counter_cache"
...

当我访问 tag.taggings.count 时,我认为 tagging_counter_cache 是透明访问的,但显然不是?我真的必须显式访问 tag.tagging_counter_cache 吗?

>> tag.taggings.count
SQL (0.7ms) SELECT count(*) AS count_all FROM `taggings` WHERE (`taggings`.tag_id = 16)

大小相同。

如果是这样的话很好,但只是想检查一下。

最佳答案

在集合上调用#size

>> tag.taggings.size

将返回计数器缓存中的值。调用#count

>> tag.taggings.count

将始终强制执行 sql 调用以获取最新计数。

关于ruby-on-rails - 访问 ruby​​ 计数器缓存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2507376/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com