前提・実現したいこと
Railsチュートリアル7章(リスト7.23)よりrails testを実行するとerrorが発生しました。
(リスト7.23)実行前はerrorは発生していませんでした。
Rails初心者です。
発生している問題・エラーメッセージ
Ruby
1 2Cloud9User:~/environment/sample (sign-up) $ rails t 3Running via Spring preloader in process 10895 4Started with run options --seed 18671 5 6ERROR["test_invalid_signup_information", UsersSignupTest, 0.4355455940003594] 7 test_invalid_signup_information#UsersSignupTest (0.44s) 8NameError: NameError: undefined local variable or method `user_params' for #<UsersController:0x000000000646ad10> 9 Did you mean? user_path 10 app/controllers/users_controller.rb:12:in `create' 11 test/integration/users_signup_test.rb:8:in `block (2 levels) in <class:UsersSignupTest>' 12 test/integration/users_signup_test.rb:7:in `block in <class:UsersSignupTest>' 13 14 19/19: [================] 100% Time: 00:00:00, Time: 00:00:00 15 16Finished in 0.51708s 1719 tests, 37 assertions, 0 failures, 1 errors, 0 skips 18
該当のソースコード
リスト(7.23)にて変更後の内容(test/integration/users_signup_test.rb)red
ruby
1 2require 'test_helper' 3 4class UsersSignupTest < ActionDispatch::IntegrationTest 5 6 test "invalid signup information" do 7 get signup_path 8 assert_no_difference 'User.count' do 9 post users_path, params: { user: { name: "", 10 email: "user@invalid", 11 password: "foo", 12 password_confirmation: "bar" } } 13 end 14 assert_template 'users/new' 15 end 16end
変更前の内容(test/integration/users_signup_test.rb)green
ruby
1require 'test_helper' 2 3class UsersSignupTest < ActionDispatch::IntegrationTest 4 # test "the truth" do 5 # assert true 6 # end 7end
試したこと
errorに書かれている
app/controllers/users_controller.rb:12:in `create'
をみましたが今の知識では解決できませんでした。
ruby
1class UsersController < ApplicationController 2 def show 3 @user = User.find(params[:id]) 4 5 end 6 7 def new 8 @user = User.new 9 end 10 11 def create 12 @user = User.new(user_params) 13 if @user.save 14 # 保存の成功をここで扱う。 15 else 16 render 'new' 17 end 18 19 private 20 21 def user_params 22 params.require(:user).permit(:name, :email, :password, 23 :password_confirmation) 24 end 25 end 26end
補足情報(FW/ツールのバージョンなど)
基本的なミスかもしれませんが、解決できず進めません。
ご協力よろしくお願いします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/03/06 06:39