link_to确认,无论答案是否总是执行动作

时间:2011-11-06 15:24:14

标签: ruby-on-rails ruby-on-rails-3.1 link-to confirm

当我按下链接时,会弹出确认,但无论我是否回答是,它都会执行操作并删除记录。

查看:

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。

1 个答案:

答案 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所取代。