简体   繁体   English

NameError:rails控制台中未初始化的常量

[英]NameError: uninitialized constant in rails console

I'm adding a 'questions' table to my database...when I migrated it...everything seemed fine. 我在我的数据库中添加了一个'问题'表...当我迁移它时...一切似乎都很好。 BUT when I go into rails console...it tells me 'NameError: uninitialized constant Question' 但是当我进入rails控制台时......它告诉我'NameError:uninitialized constant Question'

what am I missing? 我错过了什么? Here is my migration output, migration file data, and rails console error. 这是我的迁移输出,迁移文件数据和rails控制台错误。

I'm a beginner at Rails so please forgive my noobness. 我是Rails的初学者所以请原谅我的noobness。

So I got this after my rake db:migrate... 所以我在我的rake db:migrate之后得到了这个...

    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) =======================================

and this is my migration file content... 这是我的迁移文件内容......

    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

AND here is the error I'm getting.... 这是我得到的错误....

    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>'

What am I doing wrong? 我究竟做错了什么? What am I missing? 我错过了什么?

First of all you have to make sure you have a Question model, plus if you have it then make sure you have followed proper naming conventions, models in ruby on rails are singular means the model name would be "Question" not "Questions". 首先,你必须确保你有一个问题模型,如果你有它然后确保你遵循正确的命名约定,ruby on rails上的模型是单数意味着模型名称将是“问题”而不是“问题”。 hope it would help 希望它会有所帮助

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM