2016-12-13 129 views
0

这里有个小问题;不知道为什么我收到此错误,一直跟着红宝石教程一个“T”我想,这是我的错误:在Micheal Hartl Ruby on Rails教程第10.1.1节中遇到错误

FAIL [“test_invalid_signup_information”,UsersSignupTest,1.276558378001937] test_invalid_signup_information#UsersSignupTest(1.28秒) 预期至少有1个匹配“form [action =”/ signup“]”的元素,找到0 .. 预期0 => 1. test/integration/users_signup_test.rb:7:in'block in'

这里是它所指的测试:

test "invalid signup information" do 
    get signup_path 
    assert_select 'form[action="/signup"]' 

    assert_no_difference 'User.count' do 
     post signup_path, params: { user: {name: "", email: "[email protected]", password: "foo", password_confirmation: "bar"}} 
    end 

这是一个路由问题?我真的回去了,重复了前面的章节,仍然无法找到我的遗漏,有什么想法我失踪了?

编辑:这里是它指的是,_form.html.erb部分:

<%= form_for(@user) do |f| %> 
<%= render 'shared/error_messages', object: @user %> 

<%= f.label :name %> 
<%= f.text_field :name, class: 'form-control' %> 

<%= f.label :email %> 
<%= f.email_field :email, class: 'form-control' %> 

<%= f.label :password %> 
<%= f.password_field :password, class: 'form-control' %> 

<%= f.label :password_confirmation %> 
<%= f.password_field :password_confirmation, class: 'form-control' %> 

<%= f.submit yield(:button_text), class: "btn btn-primary" %> 
<% end %> 
+0

你能发布form.html.erb,这是要? –

+0

你确定这是第10章吗?因为注册章节是第7章。 – boholdyjeramae

+0

好的,更新了文章以添加_form.html.erb文件,是的这是第10节,试图添加更新和编辑用户的能力 –

回答

0

我工作在同一个教程,并在同样的问题来了。您遇到的问题是由于您完成了7.3.4中的上一个练习。本部分让您更新表单,以便将其张贴到正确的URL。

你将不得不更新部分_form.html.erb线1以下几点:

<%= form_for(@user, url: signup_path) do |f| %> 

这应该消除错误。

编辑:您将不得不使用上述url的yield,因为表单的两种用法的路径不同。即:

<%= form_for(@user, url: yield(:form_path) do |f| %> 

这需要在两个edit.html.erb一个新的提供行:

<% provide(:form_path, user_path) %> 

和new.html.erb文件:

<% provide(:form_path, signup_path) %> 
+0

是的!非常感谢你,就是这样! –

相关问题