updateアクションは1つながら、submitボタンのname属性を利用して、Strong Parametersを使い分けることを考えました。
submitボタンその1
<%= f.submit "ボタン1", name:"one"%>
submitボタンその2
<%= f.submit "ボタン2", name:"two"%>
html
1 def update 2 #@user = User.find(params[:id]) 3 if params[:one] 4 if @user.update(params_one) 5 flash[:success] = "更新されました。" 6 redirect_to root_path 7 else 8 render "edit_one" 9 end 10 else 11 if params[:two] 12 if @user.update(params_two) 13 flash[:success] = "更新されました。" 14 redirect_to root_path 15 else 16 render "edit_two" 17 end 18 end 19 end 20 end
これ自体は、正常に動くのですが、テストをどう書けばよいのかわかりません。
html
1 test "updateの確認" do 2 log_in_as(@user) 3 get edit_one_user_path(@user) 4 name = "ほげ太郎" 5 patch user_path(@user), params: { user: { name: name } } 6 assert_not flash.empty? 7 end
テストを実行すると、assert_not flash.empty?行が、Expected true to be nil or falseとなります。
name属性での使い分けを機能を付加するまではパスしていました。
submitボタンのname属性について、何か書けば良さそうなのですが、方法が思いつきません。
よろしくお願いいたします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。