我有一个链接,单击该链接将进行 AJAX 调用。此 AJAX 调用将导致显示模式。
= link_to edit_evaluation_path(evaluation), remote: true
但是,当尝试从链接打开新选项卡时(例如,通过使用鼠标中键单击它),我得到了 ActionController::UnknownFormat: ActionController::UnknownFormat
错误,因为该操作不期望以 html 格式响应。以下是相应操作的 respond_to
代码:
respond_to do |format|
format.js
end
如何阻止用户在另一个选项卡或窗口中打开链接?我是否有义务将 link_to
更改为 button_to
?谢谢!
最佳答案
我已经为今天运行的这个问题创建了仅 Javascript 的解决方案。
$.each($("a[data-remote='true']"), function(i, val) {
$(val).data("url", $(val).attr("href")).attr("href", "javascript:void(0);")
});
$.rails.href = function(el) {
var $el = $(el);
return $el.data('url') || $el.data('href') || $el.attr('href');
}
它将直接替换网站上的所有数据远程链接
关于ajax - 导轨 : link_to with remote true and opening it in a new tab or window,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24227586/