Rails未初始化的常量名称错误

巴兹利

我不断收到此错误:

NameError (uninitialized constant Character::Messagemissife):
uninitialized constant Mime::HTML

错误来自此行:

if @character.messagemissives

character.rb

has_many :messagemissives, dependent: :destroy

messagemissive.rb

class Messagemissive < Missive
  self.table_name = 'messagemissives'
  belongs_to :character      
end

missive.rb

class Missive < ActiveRecord::Base
  self.abstract_class = true
end

我上课Messagemissive,但是没有Messagemissife当然,它看起来像是一个错字错误。但是我找不到任何文件中的“ Messagemissife”。我使用了Sublime Text 2中的“查找”功能,使用了Mac Finder搜索,清除了缓存,多次重启了服务器,多次重启了计算机。但是此错误不会消失。我究竟做错了什么?

穆罕默德·阿涅斯

由于Rails的默认命名约定,您正在看到此行为。当您打电话时@character.messagemissives,Rails实际上是在寻找带有对应的单数形式的模型,Messagemissife而不是Messagemissive您可以通过键入
"Messagemissives".singularizerails console来确认这一点,它将返回您"Messagemissife"
要解决此问题,您可以使用类似的关联提及类名

has_many :messagemissives,  class_name: 'Messagemissive'

或如提到这里,在/config/initializers/inflections.rb,只需添加

ActiveSupport::Inflector.inflections do |inflect|
  inflect.irregular 'messagemissive', 'messagemissives'
end

希望这会有所帮助。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

名称错误“未初始化的常量”ruby on rails

rails 未初始化的常量模块名称

Rails的路由错误-未初始化的常量SubscribersController

Rails-Sidekiq错误未初始化的常量

Rails:路由错误未初始化的常量 RegistrationsController

Rails显示错误“未初始化的常量URI :: Generic”

Ruby on Rails“未初始化的常量”错误

NameError:未初始化的常量(rails)

Rails 4-名称空间中的首字母缩写控制器,给出“未初始化的常量”错误

Rails,未初始化的常量Rails入门

在Rails中导入csv文件时获取未初始化的常量Student :: Roo错误

Windows上未初始化的常量Sprockets :: SassCacheStore错误(了解ruby on rails书)

Rails has_many通过:(多对多关系)错误未初始化的常量Group :: Keywords

Rails在命令行中未初始化的常量错误

Rails 5的多个嵌套属性,没有路由错误未初始化的常量站点

Rails 测试错误,NameError:未初始化的常量 User::FILL_IN

Rails 路由错误:带有嵌套资源的未初始化常量

Rails路由“未初始化的常量CoursesController”

未初始化的常量ActionView :: CompiledTemplates :: FB Ruby on Rails

Ruby on Rails 5未初始化的常量ApplicationRecord(NameError)

耙子流产了!未初始化的常量Rails :: SubTestTask

Rails has_many:通过未初始化的常量

Rails:NameError(未初始化的常量UserSerializer)

Rails:NameError:未初始化的常量Bootsnap :: CompileCache :: ISeq

rails 未初始化的常量 Class::News (NameError)

Rspec / Rails:未初始化的常量ActiveSupport :: Autoload(NameError)

未初始化的常量Twilio :: Rest Rails

Rails / Factory Girl:未初始化的常量FactoryGirl(NameError)

rails 5迁移未初始化的常量