繁体   English   中英

rails 4,link_to在jquery时不使用destroy动作,需要jquery_ujs

[英]rails 4, link_to not working with destroy action when jquery, jquery_ujs is required

为什么在application.js文件中需要jquery后,destroy动作是不兼容的? 如何在不忽视jquery的情况下让destroy操作再次工作?

发布索引视图:

h1 Blog
- @posts.each do |post|
 h2 = link_to post.title, post
 p = post.content
 p = link_to 'Edit', edit_post_path(post)
 p = link_to 'Delete', post, data: {confirm: "Are you sure?"}, method: :delete
 br

p = link_to 'Add a new post', new_post_path

在帖子控制器中销毁动作:

def destroy
 @post = Post.find params[:id]
 @post.destroy

 redirect_to posts_path, :notice => "Your post has been deleted"
end

application.js中:

= require jquery
= require jquery_ujs
//= require turbolinks
//= require_tree

一旦我评论这两个,毁灭行动再次起作用。 如果没有评论,删除链接只会触发节目动作......你的想法?

因此,资产管道对这些评论做了一些特别的事情。 表格的评论的存在

//= require jquery

指示预处理器在构建应用程序客户端的application.js时包含该文件。 删除注释时,您将删除此行为 - 并且生成的库不会编译到应用程序提供的最终application.js中。

这样做的结果是你误解了所需指令的工作原理。 它只适用于评论。 删除注释标记后,您将停止包含库。

application.js是一个清单文件,因此假设语法具有这些注释。 请参阅http://guides.rubyonrails.org/asset_pipeline.html#manifest-files-and-directives

如果您复制并粘贴了网站http://guides.rubyonrails.org/getting_started.html中的代码,请尝试输入代码。

或者删除所有可能不是空格的前导'空格'。 不知怎的,我得到了ascii 160而不是ascii 32(空白字符)。

我确定它是如何发生的,但复制并粘贴它现在工作正常。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM