Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ruby-on-rails-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 为什么计数器缓存不';行不通_Ruby On Rails_Ruby On Rails 3 - Fatal编程技术网

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