原因
loadイベントを発火させる条件が、"/◯◯/new"と一致している場合としていた為(下記参照)、
renderメソッドでnewアクションを呼び出したことにより、URLが一致しなくなりイベント発火が起きなくなってしまった。
menu.js
if (document.URL.match( "/menus/new" )) {
window.addEventListener("load", 関数名);
}
解決方法
renderメソッドは使用せず、redirect_toを使用した。
但し、renderメソッドを使用できないとインスタンス変数に格納されているエラーメッセージを取り出すことができない。エラーメッセージを表示させる別の方法として、flashを用いた。
menus_controller.rb
flash[:notice] = "料理が選択されていません"
redirect_to new_menu_path
ビューファイルに、格納したエラーメッセージを表示させるように記述。
new.html.erb
<%= flash[:notice] %>