我正在捕获链接点击事件并通过ajax转发它们,特别是jquery的getScript。
在开发过程中,一切都可以正常响应格式
respond_to do |format|
format.html {
#by default renders show.html.haml
}
format.js {
#by default renders show.js.erb
}
end
这种行为不会在heroku的生产中发生,并且总是返回html文件。如果我添加文件扩展名并为路由定义格式识别,那么这可以正常工作,但我认为这不是必要的吗?
提前致谢。
答案 0 :(得分:2)
如果有人遇到这个,我会解释我做错了什么。
我正在利用heroku的varnish实现来加速应用程序。发生的事情是先前生成的动态网页是从varnish下载然后javascript调用home到同一个url来检查页面更新。这大大改善了页面响应时间,但非js用户和搜索引擎可能会查看稍微陈旧的内容。
看起来varnish不区分接受标头,我返回了之前缓存的html。为了解决这个问题,我只是在ajax请求中添加了一个时间戳参数。