2014-09-19 3 views
0

При загрузке консоли Rails в песочнице в соответствии с инструкцией я не могу создать новый пользовательский объект? У меня есть это сообщение:Ruby on Rails Michael Hartl Глава 6.1.3

>> User.new 

NameError: uninitialized constant User 
    from (irb):1 
    from /Users/Genosia/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/railties-4.1.5/lib/rails/commands/console.rb:90:in `start' 
    from /Users/Genosia/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/railties-4.1.5/lib/rails/commands/console.rb:9:in `start' 
    from /Users/Genosia/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/railties-4.1.5/lib/rails/commands/commands_tasks.rb:69:in `console' 
    from /Users/Genosia/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/railties-4.1.5/lib/rails/commands/commands_tasks.rb:40:in `run_command!' 
    from /Users/Genosia/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/railties-4.1.5/lib/rails/commands.rb:17:in `<top (required)>' 
    from /Users/Genosia/code/sample_app/bin/rails:8:in `<top (required)>' 
    from /Users/Genosia/.rbenv/versions/2.1.2/lib/ruby/site_ruby/2.1.0/rubygems/core_ext/kernel_require.rb:54:in `require' 
    from /Users/Genosia/.rbenv/versions/2.1.2/lib/ruby/site_ruby/2.1.0/rubygems/core_ext/kernel_require.rb:54:in `require' 
    from -e:1:in `<main>' 
+1

ли вы работать как модель генератора, а также миграцию? – Agush

ответ

3

У вас должен быть класс пользователя в папке вашего приложения/моделей.

Вы можете использовать генератор Рельсы для этого:

bundle exec rails g model user name:string date_of_birth:date ... 

Это создаст модель под app/models и миграцию под db/migrate

Для запуска миграциях запуска

bundle exec rake db:migrate 
bundle exec rails c --sandbox 

Тогда это должно сработать.

Обратите внимание, что открытие консоли в режиме песочницы приведет к откату всех изменений базы данных при ее закрытии.

Чтобы иметь постоянные изменения кроются

bundle exec rails c