Tag: 链轮

从rails 3.1中的html调用javascript函数

在rails 3.1中使用coffeescript,jQuery和sprockets将coffeescript文件编译为以下块: (function() { var a; var b; var c; foo = function() { alert(“foo”); } bar = function() { alert(“bar”); } }).call(this); 这似乎将函数foo和bar移出全局范围,因此bar可以被foo调用,但是不能从html代码调用。 当我尝试从select onchange元素调用foo时,我得到一个“找不到变量:foo”。 现在的解决方法是将所有全局可用的函数移动到.js文件。 但是这样做的正确方法是什么? 谢谢

Rails 3.1 with Asset Pipeline,link_to:确认消息显示两次?

好的,所以我看到这个问题是由jQuery或Prototype的多个链接引起的,但我可以确认我只在整个页面链接到jQuery 一次 。 我的问题是:当我有一个确认删除的link_to ,弹出窗口显示两次。 这是我模板中的适用代码(用Slim编写): link_to(‘Destroy’, depot_path(@depot.id), :confirm => “Really?”, :method => :delete) 我在运行资产管道时运行Rails 3.1.0 ,在我的Gemfile gem ‘jquery-rails’ ,以下内容在我的application.js文件中(由Sprockets为资产管道编译)。 //= require jquery //= require jquery_ujs //= require ‘underscore’ //= require ‘backbone’ 我的/vendor/assets/javascripts/目录中有underscore.js和backbone.js ,sprockets似乎找不到那些。 我还搜索了sprockets提供的application.js文件,jQuery只在那里一次,jQuery UJS只在那里一次。 这是我的页面呈现时的头部样子(我省略了显示的csrf-token值,FWIW)。 Administration subdata.js有一些特定于Backbone的代码; 没有什么可以选择再次包含jQuery。 这是什么交易? 我的项目中没有任何其他jQuery文件; 它都是通过jquery-rails gem管理的。 是什么导致我:confirm方法两次开火? 编辑 :我以前在Rails 3.1的RC5上看到了这个,但现在我也在Rails 3.1实际上看到了它。