名称错误:在Rails控制台中未初始化常量

3
我正在向我的数据库添加一个“questions”表...当我迁移它时...一切似乎都很好。 但是,当我进入rails console时...它告诉我“NameError: uninitialized constant Question”
我错过了什么?这里是我的迁移输出、迁移文件数据和rails控制台错误。
我是Rails的初学者,请原谅我的新手。
    Zach:FundAnEd zach$ rake db:migrate 
    ==  DropQuestionTable: migrating ==============================================
    -- drop_table(:questions)
       -> 0.0490s
    ==  DropQuestionTable: migrated (0.0492s) =====================================

    ==  CreateQuestions: migrating ================================================
    -- create_table(:questions)
       -> 0.0161s
    -- add_index(:questions, :scholarship_id)
       -> 0.0254s
    ==  CreateQuestions: migrated (0.0417s) =======================================

以下是我的迁移文件内容...

    class CreateQuestions < ActiveRecord::Migration
      def change
        create_table :questions do |t|
          t.string :question_type
          t.references :scholarship
          t.string :question_title

          t.timestamps
        end
        add_index :questions, :scholarship_id
      end
    end

这是我收到的错误信息...

    NameError: uninitialized constant Question
        from (irb):1
        from /Users/zach/.rvm/gems/ruby-1.9.3-p286/gems/railties-3.2.8/lib/rails/commands/console.rb:47:in `start'
        from /Users/zach/.rvm/gems/ruby-1.9.3-p286/gems/railties-3.2.8/lib/rails/commands/console.rb:8:in `start'
        from /Users/zach/.rvm/gems/ruby-1.9.3-p286/gems/railties-3.2.8/lib/rails/commands.rb:41:in `<top (required)>'
        from script/rails:6:in `require'
        from script/rails:6:in `<main>'

我做错了什么?我错过了什么吗?

你有一个问题模型吗?如果有,请包含它的代码。 - Matzi
你在出现错误之前做了什么? - Thanh
1个回答

5

首先,您必须确保您有一个问题模型,如果您已经拥有它,则请确保您遵循了适当的命名约定。在Ruby on Rails中,模型是单数形式,这意味着模型名称应为“Question”,而不是“Questions”。希望这能帮助到您。


谢谢。我已经弄清楚了。 - Zach
如果这个答案解决了你的问题,你可以接受它,谢谢。 - Muhamamd Awais
2
你能否请提一下,你找出了什么问题?我也遇到了同样的问题。 - Sadiksha Gautam
我遇到了同样的问题,因为我没有定义相应的模型。这个答案解决了我的问题。 - adg

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接