Ruby on rails rails-链接到同一页面,但带有锚->;不重新加载

Ruby on rails rails-链接到同一页面,但带有锚->;不重新加载,ruby-on-rails,ruby,erb,Ruby On Rails,Ruby,Erb,我想用 link_to 'Cancel', edit_project_path(@project, url_options) 取消编辑并返回编辑页面 我用于选项卡式编辑页面。每个选项卡都有自己的表单和提交/取消按钮 单击“取消”链接时,我想返回活动选项卡。所以我决定 url_options = {:anchor => active_tab_id} 问题是:由于锚,页面无法重新加载。 添加数据无turbolink没有帮助: 唯一的方法是使用javascript 将自定义数据属性添加到链接

我想用

link_to 'Cancel', edit_project_path(@project, url_options)
取消编辑并返回编辑页面

我用于选项卡式编辑页面。每个选项卡都有自己的表单和提交/取消按钮

单击“取消”链接时,我想返回活动选项卡。所以我决定

url_options = {:anchor => active_tab_id}
问题是:由于锚,页面无法重新加载。 添加
数据无turbolink
没有帮助:


唯一的方法是使用javascript

将自定义数据属性添加到链接:

link_to 'Cancel', edit_project_path(@project, url_options), :data => { :reload => true }
然后将这个javascript放在某个地方,例如在app/javascripts/reload_hash.js中

    $(function(){
        $('a[data-reload="true"').on('click', function(e) {
            window.location = $(e.target).attr('href');
            window.location.reload(true);
        });
    });
尝试使用

这对我有更好的帮助

我认为这不是处理“取消”按钮的最佳方式,为什么要重新加载页面而不是将表单字段重置为其原始值?使用反向链接。简单的重置按钮有点困难,因为有一些“不兼容”的表单元素(例如选择的jQuery和甘特图)和一些JS逻辑。。。所以最省钱最简单的方法就是重新加载。我希望有一个更干净的解决方案,不涉及JavaScript。无论如何,谢谢Alex,这解决了问题。@jakob没问题,希望我正确理解了您的要求。这在Safari 8.0版(10600.1.25.1)中引发了一个错误:语法错误,无法识别的表达式:a[data reload=“true”adding
method::get
对我有效。请求时重新加载页面
    $(function(){
        $('a[data-reload="true"').on('click', function(e) {
            window.location = $(e.target).attr('href');
            window.location.reload(true);
        });
    });