ruby-on-rails - Ruby on Rails NameError : uninitialized constant

标签 ruby-on-rails

我只是建立了一个新的迁移和模型关系,并且在控制台中测试表之间的关系时收到以下错误:NameError:未初始化的常量。

有人知道哪里出了问题吗?

谢谢

编辑:

这是错误

NameError: uninitialized constant Profile::ProfileNotification
  from C:/Ruby/lib/ruby/gems/1.8/gems/activesupport-2.3.5/lib/active_support/dependencies.rb:105:in `const_missing'
  from C:/Ruby/lib/ruby/gems/1.8/gems/activerecord-2.3.5/lib/active_record/base.rb:2199:in `compute_type'
  from C:/Ruby/lib/ruby/gems/1.8/gems/activesupport-2.3.5/lib/active_support/core_ext/kernel/reporting.rb:11:in `silence_warnings'
  from C:/Ruby/lib/ruby/gems/1.8/gems/activerecord-2.3.5/lib/active_record/base.rb:2195:in `compute_type'
  from C:/Ruby/lib/ruby/gems/1.8/gems/activerecord-2.3.5/lib/active_record/reflection.rb:156:in `send'
  from C:/Ruby/lib/ruby/gems/1.8/gems/activerecord-2.3.5/lib/active_record/reflection.rb:156:in `klass'
  from C:/Ruby/lib/ruby/gems/1.8/gems/activerecord-2.3.5/lib/active_record/reflection.rb:187:in `quoted_table_name'
  from C:/Ruby/lib/ruby/gems/1.8/gems/activerecord-2.3.5/lib/active_record/associations/has_many_association.rb:97:in `construct_sql'
  from C:/Ruby/lib/ruby/gems/1.8/gems/activerecord-2.3.5/lib/active_record/associations/association_collection.rb:21:in `initialize'
  from C:/Ruby/lib/ruby/gems/1.8/gems/activerecord-2.3.5/lib/active_record/associations.rb:1300:in `new'
  from C:/Ruby/lib/ruby/gems/1.8/gems/activerecord-2.3.5/lib/active_record/associations.rb:1300:in `profile_notifications'
  from (irb):3

来自ProfileNotification迁移的代码:
class CreateProfileNotifications < ActiveRecord::Migration
  def self.up
    create_table :profile_notifications do |t|
      t.integer :profile_id, :null => false
      t.integer :notification_id, :null => false
      t.string :notification_text
      t.boolean :checked, :default => false
      t.boolean :update_reply, :default => false
      t.boolean :opinion_reply, :default => false
      t.boolean :message_reply, :default => false
      t.boolean :pm, :default => false
      t.boolean :accepted_friend, :default => false
      t.boolean :accepted_supporter, :default => false
      t.timestamps
    end
  end

  def self.down
    drop_table :profile_notifications
  end
end

最佳答案

好吧,我发现了问题所在。当我运行ruby脚本/生成模型时,我在键入ruby脚本/生成模型ProfileNotifications。当我输入ruby脚本/生成模型ProfileNotification(单数)时,它起作用了。命名约定使我丧命。感谢您的所有帮助。

关于ruby-on-rails - Ruby on Rails NameError : uninitialized constant,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4310161/

相关文章:

ruby-on-rails - rails 5 authlogic 神秘的 user_session 错误

ruby-on-rails - 循环内的 Rails Mechanize 循环

ruby-on-rails - RSpec 测试卡在新机器 OSX 上

ruby-on-rails - 为什么 savon client.call 使用带有有效负载的 GET 请求而不是 POST?

ruby-on-rails - Rails 验证一个值不等于另一个值

ruby-on-rails - 格式化复数

ruby-on-rails - 更改列名称 Rails

ruby-on-rails - PostgreSQL 通知和 WebSockets with Rails

ruby-on-rails - Rails 4 中的 AJAX、HTML5 历史 API 和缓存

ruby-on-rails - 在测试中创建的模型对象会怎样?