更新メソッドが必要な引数を取得できない理由を追跡する際に問題が発生しています。私はショーのための同様のテストを持っていて、ペイロードは機能しています。このシナリオでは、問題のルートはinvoice/invoice_id/trip/idです。あなたが私にエラーを見つけさせて、このタイプの問題のトラブルシューティングを将来的にどのように行うべきかについての示唆を与えることができれば嬉しいです。更新メソッドの引数の数が1(2の場合1)で間違っています
これは更新方法です。
def update
if @trip.update(@trip.trip_id, trip_params)
head :no_content
else
render json: [@invoice, @trip].errors, status: :unprocessable_entity
end
end
以下のプライベートメソッドを使用します。
私の失敗テストはこのように見えます。
test "should update trip" do
put :update, invoice_id: @invoice.invoice_id, id: @trip,
trip: {arrive_airport: @trip.arrive_airport,
depart_airport: @trip.depart_airport,
departure_date: @trip.departure_date,
passenger_count: @trip.passenger_count,
passenger_first_name: @trip.passenger_first_name,
passenger_last_name: @trip.passenger_last_name}
assert_response 204
end
チェックするだけで、2の場合は1、2の場合はエラー2ですか? dbからロードされたレコードの嘲笑/スタブをしていますか? –