gpt4 book ai didi

ruby-on-rails - Ruby on Rails 计数器缓存错误

转载 作者:数据小太阳 更新时间:2023-10-29 07:13:09 25 4
gpt4 key购买 nike

尝试在我的 RoR 应用程序中实现计数器缓存列时出现错误 Unknown key(s): counter_cache

我在这个问题中实现了模型关联:Model association question

这是我的迁移:

class AddVideoVotesCountToVideos < ActiveRecord::Migration
def self.up
add_column :videos, :video_votes_count, :integer, :default => 0

Video.reset_column_information
Video.find(:all).each do |p|
p.update_attributes :videos_votes_count, p.video_votes.length
end
end

def self.down
remove_column :videos, :video_votes_count
end
end

然而,看了之后http://media.railscasts.com/videos/023_counter_cache_column.mov我想也许我必须在 belongs_to :video 之后将 :counter_cache => true 移动到 VideoVote 模型中。但是,当我这样做时,出现错误:

参数数量错误(2 为 1)

我做错了什么?

最佳答案

update_attribute 不是 update_attribteS

p.update_attribute :videos_votes_count, p.video_votes.length

或使用update_attributes:

p.update_attributes( :video_votes_count => p.video_votes.length )

UPD 1

:counter_cache => true 应该在 VideoVote 类中:

class VideoVote < ActiveRecord::Base
belongs_to :user
belongs_to :video, :counter_cache => true
end

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

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