Ruby on rails 实现作为可注释时出错:未初始化的常量讨论::注释
在尝试为我的讨论模型实现acts_as_可注释gem时,我遇到以下服务器日志错误:Ruby on rails 实现作为可注释时出错:未初始化的常量讨论::注释,ruby-on-rails,rubygems,acts-as-commentable,Ruby On Rails,Rubygems,Acts As Commentable,在尝试为我的讨论模型实现acts_as_可注释gem时,我遇到以下服务器日志错误: name错误-未初始化的常量讨论::注释: 我已经从自述文件生成了迁移文件,并运行了railsdb:migrate rails generate acts_as_commentable_with_threading_migration 我已尝试重新启动应用程序 我已按照read me上的使用说明将其添加到我的模型文件中: class Discussion < ApplicationRecord ac
name错误-未初始化的常量讨论::注释:
我已经从自述文件生成了迁移文件,并运行了railsdb:migrate
rails generate acts_as_commentable_with_threading_migration
我已尝试重新启动应用程序
我已按照read me上的使用说明将其添加到我的模型文件中:
class Discussion < ApplicationRecord
acts_as_commentable
end
问题似乎是在运行迁移时没有创建comment.rb文件。我可能在删除旧模型文件之前运行了迁移
rails generate acts_as_commentable_with_threading_migration
在尝试使用acts_as_可评论gem之前,我创建了一个评论模型。我尝试删除迁移、路由、控制器、模型和视图文件,然后使用rails db:drop,然后使用rails db:create和rails db:migrate从头开始
重新启动服务器后,注释gem现在开始工作
感谢所有的帮助@Vasilisa 您能添加完整的错误跟踪吗?哪一行代码指向错误?我在视图中添加了一个指向代码行的错误图像。我不知道如何提取完整的错误堆栈跟踪。这是服务器日志中的代码吗?请添加由gem生成的迁移代码?您是开始使用带线程的
acts\u as\u commentable\u
gem还是从acts\u as\u commentable
升级的?我使用带线程迁移的acts\u as\u commentable\u。迁移代码直接来自gem自述文件,在迁移类行末尾添加了[5.1]。请参阅问题中添加的注释模型模式。很高兴我的注释对您有所帮助!
create_table "comments", force: :cascade do |t|
t.integer "commentable_id"
t.string "commentable_type"
t.string "title"
t.text "body"
t.string "subject"
t.integer "user_id", null: false
t.integer "parent_id"
t.integer "lft"
t.integer "rgt"
t.datetime "created_at", null: false
t.datetime "updated_at", null: false
t.index ["commentable_id", "commentable_type"], name: "index_comments_on_commentable_id_and_commentable_type"
t.index ["user_id"], name: "index_comments_on_user_id"
end
rails generate acts_as_commentable_with_threading_migration