検索結果ページには、respond_to と format.js を使用する「お気に入りに追加」ボタンと「お気に入りから削除」ボタンのパーシャルがあるため、ページは更新されませんが、ページは「お気に入りに追加」と「お気に入りから削除」の表示を切り替えます。お気に入り」ボタンのパーシャル。それはうまくいきます。
しかし、ユーザーの「私のお気に入り」ページとそのプロフィールページで、ユーザーが「お気に入りから削除」ボタンをクリックすると、ページを更新して、削除されたお気に入りが表示されないようにします。
ページを更新するタイミング (respond_to format.html) とボタンを切り替えるタイミング (respond_to format.js) は、ローカル変数を remote: true (remote: @refresh_page) に使用されるパーシャルに渡すことで制御できますが、お気に入りコントローラーでは、 format.html は、redirect_to users_path に設定されています。
では、パーシャルからコントローラーの破棄アクション メソッドに変数を送信して、リダイレクト先を伝えるにはどうすればよいでしょうか?
ここに部分があります:
<%= form_for(current_user.favorites.find_by_followed_event_id(user_event),
html: { id: "event_number_#{user_event.id}", method: :delete }, remote: @refresh_page) do |f| %>
<%= f.submit "Remove from favorites %>
<% end %>