2017-06-18 9 views
1

は、私は、このテストがあります。Railsの5テストPOSTリクエスト

test "invalid signup" do 
    get signup_path 
    assert_no_difference 'User.count' do 
    post users_path, user: { 
     name: '', email: '', password: '', 
     password_confirmation:'' 
    } 
    end 
    assert_template 'users/new' 
end 

を私はrake testでそれを実行したとき、私はこのエラーを参照してください。

Error: UsersSignupTest#test_invalid_signup: ArgumentError: unknown keyword: user test/integration/users_signup_test.rb:9:in block (2 levels) in ' test/integration/users_signup_test.rb:8:in block in '

POSTメソッドのためにデータを渡すためにどのように?ここで

答えて

2

は、あなたがコピーになっていたコードは次のとおりです。

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

キーと値のペアparams: some_hashは、キーと値のペアuser: some_hash --not post()の2番目の引数です。

paramsハッシュはレールでかなり重要な概念です。

関連する問題