Ruby on rails 为什么计数器缓存不';行不通
我使用计数器缓存来计算用户的帖子数量,但它不起作用Ruby on rails 为什么计数器缓存不';行不通,ruby-on-rails,ruby-on-rails-3,Ruby On Rails,Ruby On Rails 3,我使用计数器缓存来计算用户的帖子数量,但它不起作用 #Post Model class Post < ActiveRecord::Base belongs_to :user, :counter_cache => true end #User Model class User < ActiveRecord::Base has_many :posts end ---------------------好了--------------------- 在我的后期
#Post Model
class Post < ActiveRecord::Base
belongs_to :user, :counter_cache => true
end
#User Model
class User < ActiveRecord::Base
has_many :posts
end
---------------------好了---------------------
在我的后期创作活动中:
#I change the following code
#@post = Post.create(params[:post])
#@user.posts << @post
@post = @user.posts.build(params[:post])
@post.save
#我更改了以下代码
#@post=post.create(参数[:post])
#@user.posts你应该知道保存和创建与销毁和删除是不同的
保存和删除不会通过任何回调,因此不会更新缓存计数器。如果要更新缓存计数器,应使用create。您应该知道,保存和创建与销毁和删除是不同的
保存和删除不会通过任何回调,因此不会更新缓存计数器。如果要更新缓存计数器,应使用create。如何创建日志?有错误吗?这篇文章真的保存了吗?我通过create Action@post.save创建了这篇文章,它创建成功了。你是如何创建这篇文章的?有错误吗?帖子是否真的保存了?我通过创建操作@post.save创建了帖子,它创建成功了。我使用了@post=post.create(params[:post]),但它仍然不起作用。你检查过你的数据库并验证了条目确实保存了吗?是的,我想也许我犯了一些愚蠢的错误,但我找不到它。也许我应该跟踪创建操作。我使用了@post=post.create(params[:post]),但它仍然不起作用。您是否检查了数据库,并验证了条目确实已保存?是的,我想可能我犯了一些愚蠢的错误,但我找不到它。也许我应该跟踪创建操作。
#I change the following code
#@post = Post.create(params[:post])
#@user.posts << @post
@post = @user.posts.build(params[:post])
@post.save