【发布时间】:2011-11-06 15:24:13
【问题描述】:
当我点击链接时,会弹出确认,但无论我回答是还是否,它都会执行该操作并删除记录。
查看:
link_to "Remove", gamep, :method => :delete, :confirm => "Remove "+@player.name+" from "+gamep.game.title+"?"
行动:
def destroy
@gameplayer = GamePlayer.find(params[:id])
@gameplayer.destroy
respond_to do |format|
format.html { redirect_to @gameplayer.player }
end
end
是的,我有
javascript_include_tag :defaults
编辑: 我不得不使用 jquery.rails.js 来解决这个问题,因为 :delete 方法不起作用。没有这个,就没有确认,link_to 就像一个普通的链接。
由于某种原因,当我安装“jquery-rails”gem 时,它没有在我的“public/javascripts”文件夹中放置“jquery-ujs.js”。
C:/Ruby192/lib/ruby/gems/1.9.1/gems/jquery-rails-1.0.16
C:/Ruby192/lib/ruby/gems/1.9.1/gems/rails-3.1.1
应用程序.js
// 在此处放置应用程序特定的 JavaScript 函数和类
// javascript_include_tag 自动包含这个文件:defaults
//= 需要 jquery
//= 需要 jquery_ujs
//= 要求树。
【问题讨论】:
-
我认为您遗漏了一些重要信息。 Rails 已升级到 3.1,不再需要将您的 javascript 保存在公用文件夹中。从现在开始,默认设置是将所有资产保存在 app/assets 中。我能给你的最好建议是生成一个全新的 rails 3.1 应用程序,然后慢慢地将你的代码移到它上面。在我看来,您好像在尝试手动升级旧应用程序。
-
我制作了一个新应用程序,安装了所有必需的 gem,将所有文件放在正确的文件夹中,并且除了默认的 rails3 之外不再使用任何自定义 js。我还是同样的问题,出现确认,yes or no,依然执行动作。
标签: ruby-on-rails ruby-on-rails-3.1 link-to confirm