我在使用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
<% 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的新手,我真的不知道在失败的测试中要寻找什么。如果有人能指出我正确的方向,那将是非常有必要的。
先谢谢了。
答案 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/feed
和shared/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。我加了它。