Ruby on Rails 3教程:在控制台问题中输入命令

nbk*_*aid 2 model ruby-on-rails rails-console

我正在阅读本教程,并遇到了rails控制台无法识别我创建的用户模型的问题.这是我正在使用的

这是我在我的用户模型中定义的user.rb,位于sample_app/app/models/user.rb:

class user < ActiveRecord::Base
  attr_accessible :name, :email
  validates :name, :presence => true
end
Run Code Online (Sandbox Code Playgroud)

当我尝试引用它时,这是我在控制台中得到的:

Nicholass-MacBook-Pro:sample_app nbkincaid$ rails console
Loading development environment (Rails 3.1.1)
ruby-1.9.2-p290 :001 > user.new
NameError: undefined local variable or method `user' for main:Object from (irb):1
    from /Users/nbkincaid/.rvm/gems/ruby-1.9.2-p290/gems/railties-3.1.1/lib/rails/commands/console.rb:45:in `start'
    from /Users/nbkincaid/.rvm/gems/ruby-1.9.2-p290/gems/railties-3.1.1/lib/rails/commands/console.rb:8:in `start'
    from /Users/nbkincaid/.rvm/gems/ruby-1.9.2-p290/gems/railties-3.1.1/lib/rails/commands.rb:40:in `<top (required)>'
    from script/rails:6:in `require'
    from script/rails:6:in `<main>'
Run Code Online (Sandbox Code Playgroud)

是否有我需要遵守的特定宝石版本集,或者还有其他我缺少的东西?我不太清楚这一点.

Tig*_*ine 5

如果我没记错的话,你不能小写一个类名.

尝试将类重命名为 User

以下应该有效:

class User < ActiveRecord::Base
  attr_accessible :name, :email
  validates :name, :presence => true
end
Run Code Online (Sandbox Code Playgroud)

rails c

User.new