有此鏈接:取消默認的控制器行動的重定向
= link_to "Close", close_ticket_path(:id => ticket.id), :onclick => $(this).closest('tr').remove()", :remote => true
其路線接近tickets_controller#:
def close
@ticket = Ticket.find(params[:id]).update_attribute(:status, "closed")
end
默認情況下,這個動作會重定向到views/tickets/close
。 如何禁用此默認重定向?我知道如何指定自定義重定向,但這不是我所需要的。視圖由腳本管理,數據庫在操作中被修改,因此不需要更多操作,我不希望頁面刷新。 render
既不會工作,因爲所討論的內容是動態加載的,所以基本上沒有什麼是我需要的。
我發現此解決方法爲例如包括respond_to :js
並創建空的close.js.erb
文件,或者將:onclick
以上的文件移動到此文件,但我想通過慣用方式進行操作。事實上,該鏈接現在可以根據需要與respond_to :js
(不包括在此處)一起使用,但控制檯會拋出Missing模板錯誤,這不是很好。我看着Rails Redirecting,在JS with Rails,Rendering guide,還有一些,但無濟於事。
哎呀,好像我[錯過了一個地方](http://guides.rubyonrails.org/layouts_and_rendering.html#using-render)。謝謝 :) – medik 2014-12-06 21:18:53