Rails 4 のドキュメント (Test::Unit を使用) に基づいた簡単なコントローラー テストがあります。
test "should create user" do
assert_difference('User.count') do
post :create, user: users(:sample_user)
end
assert_redirected_to user_path(assigns(:user))
end
そして、実際のユーザーが問題なく作成されているにもかかわらず、テストは失敗し、次のように述べています。
1) エラー: UsersControllerTest#test_should_create_user: NoMethodError: undefined method
permit' for "832959492":String app/controllers/users_controller.rb:23:in
user_params' app/controllers/users_controller.rb:8:increate' test/controllers/users_controller_test.rb:11:in
ブロック (2 レベル) in ' test/controllers/users_controller_test.rb:10:in `block in '
何らかの理由で、テストが Rails 4 の新しいpermit
メソッドを認識していません。現在、user_params
コントローラーのプライベートメソッドとして を持っています。create
しかし、実際のアクションに移動しようとしたところ、同じエラーが発生しました。ユーザーの作成も 100% 標準です (Rails のドキュメントのように、おかしなことはまったくありません)。
書き直す方法や、このテストに合格する方法を知っている人はいますか?