有这个链接:
= link_to "Close", close_ticket_path(:id => ticket.id), :onclick => $(this).closest('tr').remove()", :remote => true
哪些路由到tickets_controller#close:
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 template 错误,这不是很好。我查看了Rails Redirecting、JS with Rails、Rendering guide等等,但无济于事。