我有我的rails项目的移动版和网络版,并且在生产中遇到ajax调用问题。当我在网络版上调用这部分代码时,它会加载网站的移动版本:
$("#items_grid #page").html("<%= escape_javascript(render :partial => 'shared/catalog_product', :formats => session[:mobile_param].to_i == 1 ? 'mobile' : 'html') %>")
通常它工作正常,但是在将部署到Web服务器之后传递某段时间会发生这种错过。通过在 shared / catalog_product.html.erb 文件中添加一些更改,我可以在一段时间内再次恢复。我猜网络服务器以某种方式将此文件保存在缓存中,并且无法看到 shared / catalog_product.mobile.erb 和 shared / catalog_product.html.erb 之间的区别
我正在使用 nginx + passenger 来部署项目。
我也检查过,确定问题不在session[:mobile_param].to_i == 1
答案 0 :(得分:0)
您可以添加data-no-turbolink
属性data-no-turbolink="true"
以从Turbolinks中选择退出此链接,这样就不会缓存ajax调用的响应
更多内容: http://blog.teamtreehouse.com/rails-4-a-look-at-turbolinks https://github.com/rails/turbolinks