在搜索結果頁面我有「添加到收藏夾」和使用的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 %>
你爲什麼要用'form'來添加/刪除/從收藏夾中刪除?一個'link_to'一個動作就足夠了我想,在這個鏈接中你將使用'remote:true'作爲ajax,並且發送你需要的任何參數,但是當你使用ajax時你不需要重定向,只需添加'action_name.js.erb'文件中的適當的js將一個部分替換爲另一個部分。 – rmagnum2002
正如我在我的問題中所說的,在搜索結果頁面上我不想刷新,而是在添加和刪除按鈕之間切換,並且工作正常。但在我的收藏夾頁面上,我確實想要刷新,所以收藏夾將完全消失。我想我可以不刷新,只是更新用戶的收藏夾,但這意味着不同的format.js比用於切換按鈕。所以我需要不同的行爲,具體取決於部分使用的位置。我試圖幹掉。 –
所以你只需要刷新從列表中刪除偏好的對象,並且你可以使我的例子中的喜好消失,在你的action.js.erb文件中,你將不得不使用javascript去除最喜歡的div是這樣,當你點擊從收藏夾中刪除時,js將從頁面中刪除該元素。 – rmagnum2002