问:在“创建用户模型:第1部分”视频的时间轴00:54上,尝试访问时出现错误页面
http:// localhost:3000 / todo_lists / 2 / todo_items
就像杰森一样
当我完成odot应用程序的较早部分时,我使用的是与之前使用的Mac不同的Mac。我正在使用该课程最后一部分中的项目文件。我已启动服务器,并从终端获得以下输出
treehouse:〜/ projects / odot(master)$ bin / rails服务器=>引导WEBrick => Rails 4.0.1应用程序从http://0.0.0.0:3000的开发中开始 =>运行rails server -h更多启动选项=> Ctrl- C关闭服务器[2015-10-15 05:43:08] INFO WEBrick 1.3.1 [2015-10-15 05:43:08] INFO ruby 2.0.0(2013-11-22)[i686-linux] [2015-10-15 05:43:08]信息WEBrick :: HTTPServer#start:pid = 2773端口= 3000
在2015-10-15 05:46:29 -0400开始为10.0.2.2的GET“ / todo_lists / 2 / todo_items”
ActiveRecord :: PendingMigrationError(迁移正在等待;运行“ bin / rake db:migrate RAILS_ENV = development”来解决此问题。):activerecord(4.0.1)lib / active_record / migration.rb:379:in call'actionpack check_pending!' activerecord (4.0.1) lib/active_record/migration.rb:366:in(4.0 .1)lib / action_dispatch / middleware / callbacks.rb:29:block in call' activesupport (4.0.1) lib/active_support/callbacks.rb:373:in运行中338284775调用_callbacks的activesupport(4.0.1)lib / active_support / callbacks.rb:80:run_callbacks' actionpack (4.0.1) lib/action_dispatch/middleware/callbacks.rb:27:in调用中的actionpack(4.0.1)lib / action_dispatch / middleware / reloader.rb:64:call' actionpack (4.0.1) lib/action_dispatch/middleware/remote_ip.rb:76:in通话中的actionpack(4.0.1)lib / action_dispatch / middleware / debug_exceptions.rb:17:call' actionpack (4.0.1) lib/action_dispatch/middleware/show_exceptions.rb:30:in通话中的便条(4.0.1)lib / rails / rack / logger.rb:38:在call_app' railties (4.0.1) lib/rails/rack/logger.rb:20:in通话中的代码中'activesupport(4.0.1)lib / active_support / tagged_logging.rb:67:inblock in tagged' activesupport (4.0.1) lib/active_support/tagged_logging.rb:25:in带标签的'activesupport(4.0.1)lib / active_support / tagged_logging.rb:67:tagged' railties (4.0.1) lib/rails/rack/logger.rb:20:in通话中'动作包(4.0.1)lib / action_dispatch / middleware / request_id.rb:21:call' rack (1.5.2) lib/rack/methodoverride.rb:21:in通话中'机架(1.5.2)lib / rack / runtime.rb:17:call' activesupport (4.0.1) lib/active_support/cache/strategy/local_cache.rb:83:in通话中机架(1.5.2)lib / rack / lock.rb:17:call' actionpack (4.0.1) lib/action_dispatch/middleware/static.rb:64:in通话中机架(1.5.2)lib / rack / sendfile.rb:112:call' railties (4.0.1) lib/rails/engine.rb:511:in通话中轨(4.0.1)lib / rails / application.rb:97:在call' rack (1.5.2) lib/rack/lock.rb:17:in调用中(1.5.2)lib / rack / content_length.rb:14:在call' rack (1.5.2) lib/rack/handler/webrick.rb:60:in使用中/home/treehouse/.rbenv/versions/2.0.0 -p353 / lib / ruby / 2.0.0 / webrick / httpserver.rb:138:service' /home/treehouse/.rbenv/versions/2.0.0-p353/lib/ruby/2.0.0/webrick/httpserver.rb:94:in运行中'/home/treehouse/.rbenv/versions/2.0.0-p353/lib/ruby/2.0.0/webrick/server。 rb:295:in`start_thread中的块'
渲染的/home/treehouse/.rbenv/versions/2.0.0-p353/lib/ruby/gems/2.0.0/gems/actionpack-4.0.1/lib/action_dispatch/middleware/templates/rescues/_source.erb(0.3 ms)呈现的/home/treehouse/.rbenv/versions/2.0.0-p353/lib/ruby/gems/2.0.0/gems/actionpack-4.0.1/lib/action_dispatch/middleware/templates/rescues/_trace.erb (0.9毫秒)呈现的/home/treehouse/.rbenv/versions/2.0.0-p353/lib/ruby/gems/2.0.0/gems/actionpack-4.0.1/lib/action_dispatch/middleware/templates/rescues/_request_and_response .erb(0.8ms)呈现/home/treehouse/.rbenv/versions/2.0.0-p353/lib/ruby/gems/2.0.0/gems/actionpack-4.0.1/lib/action_dispatch/middleware/templates/rescues抢救/版面配置中的/diagnostics.erb(23.3ms)
从2015年10月15日05:54:26 -0400 ActiveRecord :: SchemaMigration加载(1.3ms)SELECT(schema_migrations)开始从10.0.2.2的GET“ / todo_lists / 2 / todo_items”选择。 index作为HTML参数:{“ todo_list_id” =>“ 2”} TodoList加载(2.4ms)选择“ todo_lists”。* FROM“ todo_lists”在“ todo_lists”。“ id” =吗?LIMIT 1 [[“ id”,“ 2”]]在52ms内完成404找不到
ActiveRecord :: RecordNotFound(找不到ID = 2的TodoList):app / controllers / todo_items_controller.rb:59:在`find_todo_list'中
渲染的/home/treehouse/.rbenv/versions/2.0.0-p353/lib/ruby/gems/2.0.0/gems/actionpack-4.0.1/lib/action_dispatch/middleware/templates/rescues/_source.erb(0.6 ms)呈现的/home/treehouse/.rbenv/versions/2.0.0-p353/lib/ruby/gems/2.0.0/gems/actionpack-4.0.1/lib/action_dispatch/middleware/templates/rescues/_trace.erb (1.1毫秒)呈现的/home/treehouse/.rbenv/versions/2.0.0-p353/lib/ruby/gems/2.0.0/gems/actionpack-4.0.1/lib/action_dispatch/middleware/templates/rescues/_request_and_response .erb(0.9ms)呈现/home/treehouse/.rbenv/versions/2.0.0-p353/lib/ruby/gems/2.0.0/gems/actionpack-4.0.1/lib/action_dispatch/middleware/templates/rescues抢救/版面配置中的/diagnostics.erb(19.3ms)
当我遇到首页错误时,我也在终端中运行了ff
测试:〜/ projects / odot(master)$ bin / rake db:migrate RAILS_ENV = development == CreateTodoLists:迁移======================== ======================-create_table(:todo_lists)-> 0.0039s == CreateTodoLists:已迁移(0.0050s)======= ===============================
== CreateTodoItems:迁移============================================= ===-create_table(:todo_items)-> 0.0038s == CreateTodoItems:已迁移(0.0049s)========================== ============
== AddCompletedAtToTodoItems:迁移===================================== add_column(:todo_items, :completed_at,:datetime)-> 0.0032s == AddCompletedAtToTodoItems:已迁移(0.0041s)============================
测试:〜/ projects / odot(master)$
尝试访问浏览器中的localhost链接时出现以下错误页面。
TodoItemsController#index中的ActiveRecord :: RecordNotFound找不到ID = 2的TodoList
提取的来源(第59行附近):57 58 59 60 61 62
私人def find_todo_list @todo_list = TodoList.find(params [:todo_list_id])结束
def todo_item_params
Rails.root:/ home / treehouse / projects / odot
应用程序跟踪| 框架跟踪| 完整跟踪app / controllers / todo_items_controller.rb:59:在`find_todo_list'请求中
参数:
{“ todo_list_id” =>“ 2”}切换会话转储切换环境转储响应
标头:
没有
有人知道如何解决此问题吗?
答:不知道您是否仍然坚持这样做。您捕获了挂起的迁移的第一个错误。现在,您遇到一个错误,即Rails在数据库中找不到ID为2的TodoList。您可以检查在rails控制台中拥有哪些TodoList。在终端中键入rails console。然后键入TodoList.all。