Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ruby-on-rails-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 3 RubyonRails MichaelHartl第2章:Micropost迁移_Ruby On Rails 3_Rake_Migrate - Fatal编程技术网

Ruby on rails 3 RubyonRails MichaelHartl第2章:Micropost迁移

Ruby on rails 3 RubyonRails MichaelHartl第2章:Micropost迁移,ruby-on-rails-3,rake,migrate,Ruby On Rails 3,Rake,Migrate,我是编程新手,正在学习Hartl的RubyonRails教程,并坚持学习第2.3.1节 我需要为Micropost资源创建一个新的脚手架,并将新的数据模型迁移到数据库中 我已使用以下工具成功创建了一个新的脚手架: $ rails generate scaffold Micropost content:string user_id:integer 作为回报,我看到: $ rails generate scaffold Micropost content:string user_id:intege

我是编程新手,正在学习Hartl的RubyonRails教程,并坚持学习第2.3.1节

我需要为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) ======================================
我运行了一个本地主机,看到所有micropost视图都显示良好,可以创建、更新和删除micropost

现在的问题是在下一步中,我需要更改文件夹“app/models/micropost.rb”以使用长度验证。但是,我没有看到models文件夹中列出的“microspost.rb”文件。我只看到上一个练习中的“.gitkeep”和“user.rb”文件


这让我相信迁移并没有成功,尽管有人这样告诉我,我也不知道该怎么做。请帮忙

你看过
app/models/micropost.rb
了吗?生成脚本明确声明它是在那里创建的。如果没有,则此建议的其他文件是否在文件夹中?(例如,
apps/controllers/micropost\u controller.rb
app/views/micropost/new.html.erb


如果仍然没有,您可能希望在运行命令
rails generate scaffold microspost content:string user\u id:integer
之前签出git commit,或者运行
rails destroy scaffold microspost
并重新执行该操作

“app/models/micropost.rb”不在文件夹中。另外,前面提到的其他文件也根本不存在。我将签出较旧的git提交,然后重试该操作。谢谢。我刚恢复到一个旧的git提交。一切正常,我现在能够找到文件夹中的文件。谢谢