在一天中的大部分时间里,我一直在努力解决以下问题:
但是,无论我尝试什么,Rails都坚持在响应头中发送错误的内容类型。
#the form
= form_for @signup, :url => '/signup', :remote => true do |f|
= f.text_field :email, :class => 'email', :size => 26
= f.submit 'Notify me'
#In the controller
def create
respond_to do |format|
format.js { render :content_type => 'text/javascript', :layout => false}
end
end
#the JS file: create.js.erb
alert('HI!');
这不起作用,而我认为应该。使用Firebug检查服务器响应,它告诉我响应头的内容类型为text/html
。我认为这就是它无法正常工作的原因(就像新生成的应用程序一样,使用相同的jquery-rails gem它会使用text/javascript
标题进行响应。
服务器说它正在用JS回复:
Processing by SignupsController#create as JS
但是以某种方式拒绝发送正确的标题。我迷失在下一步的地方。
任何关于下一步的帮助或方向都将非常感谢! 欧文
答案 0 :(得分:4)
好的找到了解决方案,
因此应用程序控制器中的after_filter覆盖了内容类型。它们是由内到外处理的。所以它覆盖了我的声明。