Ruby on Rails教程第10章帮助 - 失败测试

时间:2012-07-15 17:51:11

标签: ruby-on-rails ruby

我在使用Michael Hartl的Ruby on Rails教程时遇到了一些麻烦。我已经到了第10章的末尾,并且进行了大量的失败测试。我把我的代码与迈克尔放在一起的github repo进行了比较,他们排成一行。这是失败的测试报告:

  1) Authentication signin with valid information 
     Failure/Error: click_button "Sign in"
     ActionView::Template::Error:
       Missing partial shared/stats with {:locale=>[:en], :formats=>[:html], :handlers=>[:erb, :builder, :coffee]}. Searched in:
         * "/Users/bobbysudekum/Documents/Projects/rails/Secondattempt/sample_app_three/app/views"
     # ./app/views/users/show.html.erb:11:in `_app_views_users_show_html_erb___2309319721249673303_70162631795520'
     # (eval):2:in `click_button'
     # ./spec/requests/authentication_pages_spec.rb:34:in `block (4 levels) in <top (required)>'

  2) Authentication signin with valid information 
     Failure/Error: click_button "Sign in"
     ActionView::Template::Error:
       Missing partial shared/stats with {:locale=>[:en], :formats=>[:html], :handlers=>[:erb, :builder, :coffee]}. Searched in:
         * "/Users/bobbysudekum/Documents/Projects/rails/Secondattempt/sample_app_three/app/views"
     # ./app/views/users/show.html.erb:11:in `_app_views_users_show_html_erb___2309319721249673303_70162631795520'
     # (eval):2:in `click_button'
     # ./spec/requests/authentication_pages_spec.rb:34:in `block (4 levels) in <top (required)>'

  3) Authentication signin with valid information 
     Failure/Error: click_button "Sign in"
     ActionView::Template::Error:
       Missing partial shared/stats with {:locale=>[:en], :formats=>[:html], :handlers=>[:erb, :builder, :coffee]}. Searched in:
         * "/Users/bobbysudekum/Documents/Projects/rails/Secondattempt/sample_app_three/app/views"
     # ./app/views/users/show.html.erb:11:in `_app_views_users_show_html_erb___2309319721249673303_70162631795520'
     # (eval):2:in `click_button'
     # ./spec/requests/authentication_pages_spec.rb:34:in `block (4 levels) in <top (required)>'

     # REMOVED 43 more identical errors

从github移植的视图

<% provide(:title, @user.name) %>
<div class="row">
  <aside class="span4">
    <section>
      <h1>
        <%= gravatar_for @user %>
        <%= @user.name %>
      </h1>
    </section>
    <section>
      <%= render 'shared/stats' %>
    </section>
  </aside>
  <div class="span8">
    <%= render 'follow_form' if signed_in? %>
    <% if @user.microposts.any? %>
      <h3>Microposts (<%= @user.microposts.count %>)</h3>
      <ol class="microposts">
        <%= render @microposts %>
      </ol>
      <%= will_paginate @microposts %>
    <% end %>
  </div>
  </div>
</div>

很抱歉不包含示例代码 - 超出了字符数限制。请参阅github上的其余代码 - https://github.com/rsudekum/sample_app_three

作为rails / ruby​​的新手,我真的不知道在失败的测试中要寻找什么。如果有人能指出我正确的方向,那将是非常有必要的。

先谢谢了。

1 个答案:

答案 0 :(得分:1)

请参阅我的拉取请求:https://github.com/rsudekum/sample_app_three/pull/1

这是我的笔记,因为我克隆了应用程序并调查了错误。请注意,我在之前开始调查对答案的评论发布了,所以我可能已经注意到你已经知道的事情了。无论如何,所有规格现在都在我的机器上传递。我尝试使应用程序在第10章末尾类似于教程的状态,但我从未遵循本教程,因此它可能不完全匹配。

第一次迁移20120711232738_create_users.rb似乎有 将其整个文件内容替换为内容 20120714233631_create_microposts.rb。 (意外复制粘贴?) 恢复其原始内容可解决迁移问题。

views/shared/_stats.html.erb中的部分内容丢失了。以来 你说你刚刚完成了第10章,而这部分是 直到第11章才引入,我决定将参考文献注释掉 而不是更新部分本身,因为部分 引用第11章之前未讨论过的内容。

同样为follow_form部分。

shared/feedshared/feed_item部分不正确 根据清单10.42和10.47。我纠正了它们以反映这些 目录。

您忘了在渲染中分配object: f.object error_messages部分来自users/edit.html.erb

您在confirm: "..."中使用了users/_user.html.erb。没关系,但是 已弃用,因此我将其更改为data: { confirm: "..." }

同上confirm microposts/_microposts.html.erb。{/ p>

您忘记添加SessionsController#destroy的代码。这个 列于清单8.29。我加了它。