好的,我已经在我的Rails应用中使用ajax了相当长的时间。不知怎的,我第一次的Rails 3.1应用程序,我不能得到基本的工作..无法让UJS在Rails 3.1中工作
# application.js
//= require jquery
//= require jquery_ujs
# the form
= form_for @signup, :url => '/signup', :remote => true do |f|
= f.text_field :email, :class => 'email', :size => 26
= f.submit 'Notify me'
# the controller
def signup # route.rb has 'match '/signup' => 'controller#signup'
respond_to do |format|
format.js
end
end
# view: signup.js.erb
alert('wtf?');
现在,从我可以告诉,提交此表应触发警报框。它没有。表单提交确实发送到控制器操作,该操作确实呈现模板:
Rendered teaser_pages/signup.js.erb (0.1ms)
Completed 200 OK in 8ms (Views: 7.2ms | ActiveRecord: 0.0ms)
只有没有js被触发。
的UJS助手被加载并运行,但(我认为),因为如果我这样做..
link_to 'click me', '#', :confirm => 'confirmation box!'
..它会触发一个确认框,符合市场预期。
我可能会错过什么?任何方向看,将不胜感激。
谢谢 欧文
UPDATE:
如此看来轨道被证明是错误的内容类型的标题,提供text/html
而不是text/javascript
。一些测试后连:
render :js => "alert('AHAHAHAHA');", :content_type => 'text/javascript'
仍将呈现与内容类型text/html
页眉当我运行相同版本的jquery-rails
它工作提出新的申请。在这个应用程序它不..
我应该在哪里看?