gpt4 book ai didi

ruby-on-rails - 尝试按投票排序时出错(act_as_votable gem)

转载 作者:太空宇宙 更新时间:2023-11-03 16:18:45 26 4
gpt4 key购买 nike

所以我的投票工作非常顺利。但是,当我尝试按大多数赞成票对我的帖子进行排序时,我收到此错误消息,指出帖子索引中的声明无效。

Error message

这是我的帖子 Controller

def index
@posts = Post.all.order(:cached_votes_up => :desc)
end

我也将缓存投票添加到帖子表迁移中,这是它的前半部分

class AddCachedVotesToPosts < ActiveRecord::Migration
def self.up
add_column :posts, :cached_votes_total, :integer, :default => 0
add_column :posts, :cached_votes_score, :integer, :default => 0
add_column :posts, :cached_votes_up, :integer, :default => 0
add_column :posts, :cached_votes_down, :integer, :default => 0
add_column :posts, :cached_weighted_score, :integer, :default => 0
add_column :posts, :cached_weighted_total, :integer, :default => 0
add_column :posts, :cached_weighted_average, :float, :default => 0.0
add_index :posts, :cached_votes_total
add_index :posts, :cached_votes_score
add_index :posts, :cached_votes_up
add_index :posts, :cached_votes_down
add_index :posts, :cached_weighted_score
add_index :posts, :cached_weighted_total
add_index :posts, :cached_weighted_average

如果代码有帮助,我会很乐意发布

帖子表

create_table "posts", force: :cascade do |t|
t.string "description"
t.datetime "created_at", null: false
t.datetime "updated_at", null: false
t.integer "user_id"
t.string "image_file_name"
t.string "image_content_type"
t.integer "image_file_size"
t.datetime "image_updated_at"
end

最佳答案

cached_votes_up 列尚未添加到您的数据库中。请运行此命令,

rake db:migrate:reset

它将重置您的数据库迁移并添加所有新列。它应该可以解决您的问题。

注意:使用此命令将删除您的所有数据库记录。

关于ruby-on-rails - 尝试按投票排序时出错(act_as_votable gem),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38298342/

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