【问题标题】:RoR. Creating records in rails console error罗尔。在 Rails 控制台错误中创建记录
【发布时间】:2015-03-09 21:23:26
【问题描述】:

您好,我是学习 Lynda ruby​​ on rails 教程的初学者。

这是我必须运行 subject = Subject.new 的代码。但是每次我在rails控制台中输入它时,我都会收到这个错误。

NameError: uninitialized constant Subject
        from (irb):1
        from C:/Ruby200-x64/lib/ruby/gems/2.0.0/gems/railties-4.0.0/lib/rails/co
mmands/console.rb:90:in `start'
        from C:/Ruby200-x64/lib/ruby/gems/2.0.0/gems/railties-4.0.0/lib/rails/co
mmands/console.rb:9:in `start'
        from C:/Ruby200-x64/lib/ruby/gems/2.0.0/gems/railties-4.0.0/lib/rails/co
mmands.rb:64:in `<top (required)>'
        from bin/rails:4:in `require'
        from bin/rails:4:in `<main>'

【问题讨论】:

  • 看来你还没有定义类Subject
  • 如何定义它?我对此很陌生
  • 创建模型或脚手架?教程是如何创建的?
  • 你在问如何定义一个类。这是一个不同的问题,您应该通过做一些基础研究来回答。

标签: ruby-on-rails ruby console records nameerror


【解决方案1】:

new 是 Class 的一个方法。用你的代码

subject = Subject.new

你想创建一个 Subject 类的实例,但你似乎还没有定义一个 Subject 类。

在 irb 上你可以这样做:

class Subject
end

现在有了

subject = Subject.new

你可以创建一个 Subject 的实例,你可以用什么来测试

subject.class
=> #<Subject:0x007fca538325c8>

但是,如果您还没有为 Subject 类定义任何方法,那么这一切都没有多大意义。这就是必不可少的 ruby​​ 或基本的 OOP,所以尝试获取一些关于 Ruby 的基本知识。我建议Rubymonk 或其他东西。

【讨论】:

    猜你喜欢
    • 2012-12-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多