Rails,jQuery,.js.erb文件,JS不是由浏览器执行的

我正在尝试使用jQuery,一切都很棒,直到现在,当我试图渲染部分并将其附加到div时。 以下是我设置的方法:

我有一个响应js的动作:

def index @objects = Object.find(:all) respond_to do |format| format.js end end 

还有一个名为index.js.erb的模板,里面有一些javascript:

 alert("hello world"); 

Firebug返回“text / javascript”响应,其中包含:

 alert("hello world"); 

但是没有出现警报窗口,也没有任何其他JavaScript工作。 我检查了http://railscasts.com/episodes/136-jquery并且或多或少跟随。 我尝试了其他一些东西,比如使用.rjs而不是.erb并将它放在我的模板中:

 page.alert("hello world"); 

但我得到了相同的结果,浏览器从不执行JS。

任何人都知道为什么JavaScript没有被执行?

我正在运行Rails 2.3.4。

您必须从您的视图中调用它,否则它将永远不会被执行。

示例控制器:

 def index @objects = Object.find(:all) respond_to do |format| format.js{ render :text => "alert('hello')" } end end 

和index.html.erb:

  

将’/ controller’替换为执行该控制器的索引操作的实际url,默认情况下,对于PostsController,它将是’/ posts’等等……

如果你喜欢rjs,你可以在控制器中删除{}并在其中进行任务,并创建一个index.js.erb或index.rjs:

 page.alert("hello world") 

要么:

 page << "hello world"