jquery-turbolinks – link_to确认:在Rails中弹出几次

前端之家收集整理的这篇文章主要介绍了jquery-turbolinks – link_to确认:在Rails中弹出几次前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个典型的CRUD操作应用程序

应用/视图/配方/ show.html.haml
包含一行

= link_to "Delete",recipe_path,method: :delete,data: {confirm: "Are you sure?" },class: "btn btn-default"

如果我在apps / views / recipe / new.html.haml中创建一个新的食谱,并重定向
apps / views / recipe / show.html.haml,然后点击Delete,然后它给我一次确认并删除配方.

但是,如果我从与各种配方(如http://localhost:3000/recipes/29)连接的典型类型的index.html.haml进行相同的显示页面,然后点击删除按钮,则确认将弹出3-4次.(除非我重新打印第一页,那么它将弹出确认只有一次).

我尝试添加jquery-turbolinks,它仍然没有工作…

app / views / layouts / application.html.haml在%title下面有以下内容

= stylesheet_link_tag    'application',media: 'all','data-turbolinks-track' => true                                                                      
  = javascript_include_tag 'application','data-turbolinks-track' => true                                                                                    
  = csrf_Meta_tags

不知道如何修复它,所以它不会弹出几次

编辑:即使我通过传递@recipe修复代码,仍然是相同的行为

= link_to "Delete",recipe_path(@recipe),class: "btn btn-default"

编辑2:
如果我一起删除turbolinks它工作buttTurbolinks使您的Web应用程序中的以下链接更快,据我所知,在大多数Rails项目中使用.所以试着看看是否有工作?似乎是一个非常典型的事情,能够做到.

编辑3:

添加了jquery-turbolinks

的Gemfile

gem 'jquery-turbolinks'

JavaScript清单文件,按此顺序:

//= require jquery
//= require jquery.turbolinks
//= require jquery_ujs
//= require turbolinks

确认弹出不止一次.必须有办法解决它?

编辑4:
我发现了这个问题.哈姆尔的%头在正确的%html下,没有缩进,所以application.js和其他被包括在身体,而不是头部,所以而不是

!!! 5                                                                                                                                                                                                             
%html                                                                                                                                                                                                             
%head                                                                                                                                                                                                             
    %title Recipe App                                                                                                                                                                                             
    = stylesheet_link_tag    'application','data-turbolinks-track' => true                                                                                                                         
    = javascript_include_tag 'application','data-turbolinks-track' => true                                                                                                                                       
    = csrf_Meta_tags

应该是

!!! 5                                                                                                                                                                                                             
%html                                                                                                                                                                                                             
  %head                                                                                                                                                                                                           
    %title Recipe App                                                                                                                                                                                             
    = stylesheet_link_tag    'application','data-turbolinks-track' => true                                                                                                                                       
    = csrf_Meta_tags

解决方法

jquery-turbolinks不应该真的有必要;我的应用程序正常工作没有它…

你确定:

>你有< head>中的javascript_include_tag …行你的html的一部分?
>你只有一个javascript_include_tag …行?

背景:

你所遇到的问题是jquery_ujs设置是在每个页面加载的页面调用的,导致安装了重复的处理程序.
由于一个涡轮页面加载只是替换了< body>文件的一部分,您必须在< body&gt这会触发jquery_ujs设置... 另见这些答案:https://stackoverflow.com/a/18260585/211060https://stackoverflow.com/a/4475479/211060

猜你在找的jQuery相关文章