加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ajax – Rails:link_to with remote true并在新选项卡或窗口中

发布时间:2020-12-15 22:55:54 所属栏目:百科 来源:网络整理
导读:我有一个链接,当点击它时,将进行 AJAX调用.这个 AJAX调用将导致模态出现. = link_to edit_evaluation_path(evaluation),remote: true 但是,当尝试从链接打开一个新选项卡时(例如,通过鼠标中键单击它),我一直得到一个ActionController :: UnknownFormat:Acti
我有一个链接,当点击它时,将进行 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');
}

它将直接替换站点上的所有数据远程链接

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读