Rails控制台错误

时间:2015-02-12 21:04:24

标签: ruby-on-rails ruby console

当我打开Rails控制台或沙箱时,我尝试添加新日期,在这种情况下,用户,我不断收到同样的错误。我已经尝试了一切来解决它,但对于我的生活,我无法理解它。我正在使用Windows,所以显然我知道这是我的第一个问题之一,但它是我目前所拥有的全部,所以我必须做出应有的决定。这是当我尝试简单地输入user.new(信息......)时弹出的错误消息......任何帮助都会非常感激,我会把头发拉到这里。

    C:\TTS\Rails\workspace\sample_app>rails console
    DL is deprecated, please use Fiddle
    Loading development environment (Rails 4.2.0)
    irb(main):001:0> user.new(name: "Will Wagar", email: "will@wagar.com")
    NameError: undefined local variable or method `user' for main:Object
            from (irb):1
            from C:/RailsInstaller/Ruby2.1.0/lib/ruby/gems/2.1.0/gems/railties-4.2.0/lib/rails/commands/console.rb:110:in `start'
            from C:/RailsInstaller/Ruby2.1.0/lib/ruby/gems/2.1.0/gems/railties-4.2.0/lib/rails/commands/console.rb:9:in `start'
            from C:/RailsInstaller/Ruby2.1.0/lib/ruby/gems/2.1.0/gems/railties-4.2.0/lib/rails/commands/commands_tasks.rb:68:in `console'
            from C:/RailsInstaller/Ruby2.1.0/lib/ruby/gems/2.1.0/gems/railties-4.2.0/lib/rails/commands/commands_tasks.rb:39:in `run_command!'
            from C:/RailsInstaller/Ruby2.1.0/lib/ruby/gems/2.1.0/gems/railties-4.2.0/lib/rails/commands.rb:17:in `<top (required)>'
            from bin/rails:4:in `require'
            from bin/rails:4:in `<main>'

2 个答案:

答案 0 :(得分:1)

你几乎肯定想要User.new(注意大写U)而不是user.new,这是一个Ruby约定,类是大写的。

要扩展,您可能希望分几步完成:

user = User.new(name: "Will Wagar", email: "will@wagar.com")
user.valid?
user.save
etc...

因此,在第一个中,您正在创建类User的实例并将其分配给变量user,然后在后续操作中,您正在使用新的user你创建的变量。

答案 1 :(得分:0)

我现在看到了,我应该在问题中提到我已经尝试了两种方式,大写而不是。当我用大写U尝试它时,我可以得到一个回报,但是当我尝试检查它是否有效或保存它时,我得到同样的错误。 IRB(主):008:0&GT; user.valid? NameError:未定义的局部变量或方法user' for main:Object from (irb):8 from C:/RailsInstaller/Ruby2.1.0/lib/ruby/gems/2.1.0/gems/railties-4.2.0/lib/rails/commands/console.rb:110:in start&#39;         来自C:/RailsInstaller/Ruby2.1.0/lib/ruby/gems/2.1.0/gems/railties-4.2.0/lib/rails/commands/console.rb:9:in start' from C:/RailsInstaller/Ruby2.1.0/lib/ruby/gems/2.1.0/gems/railties-4.2.0/lib/rails/commands/commands_tasks.rb:68:in console&#39;         来自C:/RailsInstaller/Ruby2.1.0/lib/ruby/gems/2.1.0/gems/railties-4.2.0/lib/rails/commands/commands_tasks.rb:39:in run_command!' from C:/RailsInstaller/Ruby2.1.0/lib/ruby/gems/2.1.0/gems/railties-4.2.0/lib/rails/commands.rb:17:in&#39;         来自bin / rails:4:require' from bin/rails:4:in&#39;