Ruby on Rails 3 Tutorial: ввод команд при выпуске консоли - PullRequest
2 голосов
/ 30 декабря 2011

Я работаю с этим учебником и столкнулся с проблемой с консолью rails, которая не распознает созданную мной модель пользователя. Вот с чем я работаю

Это то, что я определил в моей пользовательской модели, user.rb, расположенной в sample_app/app/models/user.rb:

class user < ActiveRecord::Base
  attr_accessible :name, :email
  validates :name, :presence => true
end

Вот что я получаю в консоли, когда пытаюсь сослаться на нее:

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

Есть ли какой-то конкретный набор гемов, которого мне нужно придерживаться, или мне чего-то не хватает? Я не могу понять это.

1 Ответ

5 голосов
/ 30 декабря 2011

Вы не можете использовать имя класса в нижнем регистре, если я правильно помню.

Попробуйте переименовать класс в User

Должно работать следующее:

class User < ActiveRecord::Base
  attr_accessible :name, :email
  validates :name, :presence => true
end

rails c

User.new

...