当我按下链接时,会弹出确认,但无论我是否回答是,它都会执行操作并删除记录。
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'宝石时,它没有在我的'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
的application.js
//在此处放置特定于应用程序的JavaScript函数和类
// javascript_include_tag自动包含此文件:默认
// = require jquery
// = require jquery_ujs
// = require_tree。
答案 0 :(得分:0)
在Rails 3.1中,你应该使用“应用程序”,而不是“默认”,否则你的javascript都不会被正确加载:
javascript_include_tag "application"
此外,您不需要手动添加任何其他javascript文件,因为应用程序清单(app/assets/javascripts/application.js
)已经将它们全部拉入。只需创建所有 *即可您的JS文件位于app/assets/javascripts
,而不是'public / javascripts`。
使用以前版本的Rails中的rails.js
文件确保您不。这已被Rails 3.1中的jquery-rails
gem所取代。