0

我有一个 Rails 应用程序,我想在其中使用计数器缓存,在实施到应用程序之前,我尝试在示例应用程序中检查它是如何工作的,并且效果很好。但我不能让它在我需要做的应用程序中工作。

两个应用程序的不同之处在于 create 是从与 counter_cache 一起使用的应用程序中的控制器调用的,而 create 是从应用程序上的工作人员调用的,而该应用程序不起作用。

那么我们是否需要仅从控制器创建记录才能使其正常工作,还是会出现其他错误?

请帮我。提前致谢。

代码示例

class Post < ActiveRecord::Base
    has_many :comments
end

class Comment < ActiveRecord::Base
  belongs_to :post, :counter_cache => true
end

在我的评论控制器中,我有

@comment = Comment.create(comment_params)

在我看来,我有

post.comments_count

上面的代码有效,而

Comment.create(comment_params)

在称为异步的 sidekiq 工作者中不起作用,即不会增加表中的计数。

4

0 回答 0