2013-07-11 7 views
0

Я новичок в программировании и просмотрю учебник Hartl Ruby on Rails и застрял в разделе 2.3.1.Ruby on Rails Michael Hartl Глава 2: Микропостская миграция

Я должен создать новый эшафот для ресурса Micropost и перенести новую модель данных в базу данных.

Я успешно создал новую леску с помощью:

$ rails generate scaffold Micropost content:string user_id:integer 

и в свою очередь, я вижу:

$ rails generate scaffold Micropost content:string user_id:integer 
    invoke active_record 
    create db/migrate/20130711181712_create_microposts.rb 
    create app/models/micropost.rb 
    invoke test_unit 
    create  test/unit/micropost_test.rb 
    create  test/fixtures/microposts.yml 
    invoke resource_route 
    route resources :microposts 
    invoke scaffold_controller 
    create app/controllers/microposts_controller.rb 
    invoke erb 
    create  app/views/microposts 
    create  app/views/microposts/index.html.erb 
    create  app/views/microposts/edit.html.erb 
    create  app/views/microposts/show.html.erb 
    create  app/views/microposts/new.html.erb 
    create  app/views/microposts/_form.html.erb 
    invoke test_unit 
    create  test/functional/microposts_controller_test.rb 
    invoke helper 
    create  app/helpers/microposts_helper.rb 
    invoke  test_unit 
    create  test/unit/helpers/microposts_helper_test.rb 
    invoke assets 
    invoke coffee 
    create  app/assets/javascripts/microposts.js.coffee 
    invoke scss 
    create  app/assets/stylesheets/microposts.css.scss 
    invoke scss 
identical app/assets/stylesheets/scaffolds.css.scss 

Как я перейти к следующему шагу для миграции, я ввожу:

$ bundle exec rake db:migrate 

и убедитесь, что миграция прошла успешно:

== CreateUsers: migrating ==================================================== 
-- create_table(:users) 
    -> 0.0020s 
== CreateUsers: migrated (0.0020s) =========================================== 

== CreateMicroposts: migrating =============================================== 
-- create_table(:microposts) 
    -> 0.0030s 
== CreateMicroposts: migrated (0.0030s) ====================================== 

Я запускаю локальный хост и вижу, что все виды микрообъектов выглядят прекрасно и могут создавать, обновлять и удалять микропоты.

Теперь проблема заключается в следующем шаге, когда мне необходимо внести изменения в папку «app/models/micropost.rb», чтобы использовать проверку длины. Однако я не вижу файл «microropost.rb», указанный в папке моделей. Я вижу только мои файлы «.gitkeep» и «user.rb» из предыдущего упражнения.

Это заставляет меня думать, что миграция не увенчалась успехом, несмотря на то, что ей сказали, и я не уверен, что делать. Пожалуйста помоги.

ответ

1

Вы искали: app/models/micropost.rb? Сценарий генерации определенно указывает, что он был создан там. Если нет, другие файлы, которые это предлагает в папке? (например, apps/controllers/micropost_controller.rb, app/views/microposts/new.html.erb).

Если все еще нет, вы можете проверить выпуск git, прежде чем запустить команду rails generate scaffold Micropost content:string user_id:integer, или запустите rails destroy scaffold Micropost и выполните повторное действие.

+0

"app/models/micropost.rb" не находится в папке. Кроме того, другие файлы, о которых упоминалось ранее, также вообще не существуют. Я проведу старую git-фиксацию и повторю действие. Благодарю. – kyu1012

+0

Я только что вернулся к старому git commit. Все работает отлично, и теперь я могу найти файлы в папке. Благодаря! – kyu1012

Смежные вопросы