视图不会在生产中更新

时间:2014-10-06 22:41:00

标签: ruby-on-rails ruby-on-rails-4 nginx unicorn

在我最终对我的开发机器上的结果感到满意之后,我决定使用capistrano在我的VPS上部署我的Rails 4-app。作为我的堆栈,我选择了NGINX和Unicorn。现在我注意到我需要改变的一些事情,以使一切都在生产中,但不知怎的,我无法更新视图。

我已经做的是:

  1. 清除浏览器缓存
  2. 通过将config.action_controller.perform_caching设置为false来禁用config / production.rb中的缓存
  3. 使用ssh
  4. 手动检查远程服务器上的文件
  5. 重新启动我的服务器堆栈
  6. 实际上我的本地文件与生产服务器上的文件同步,但我的浏览器中没有看到任何更改。我还可以做些什么?我错过了什么吗?我很感激  任何帮助。

1 个答案:

答案 0 :(得分:2)

<强> 1。验证您是否没有剩余的缓存tmp文件

What i already did is:
    Disabling the cache in config/production.rb by setting config.action_controller.perform_caching to false

我认为这意味着以前启用了缓存,因此可以先创建一些缓存文件,现在由NGINX提供服务而不通过rails,你没有提到你手动清除了缓存

您可以查看您的&#34; public&#34;用于查看是否存在缓存文件并手动删除它们的文件夹,但请务必知道您在做什么,并且不要删除可能由应用程序的其他部分使用的文件。或者,您可以尝试通过控制台清除生产服务器中的缓存

# from the root directory of your application, open your rails console
$ RAILS_ENV=production rails c
# Then in the console, type
> Rails.cache.clear

<强> 2。验证是否没有代理缓存

您的网页可能会被外部组件(例如代理)缓存。您应该从本地控制台检查服务器的输出。登录到服务器控制台并运行curl以从localhost获取页面的输出(不要使用服务器外部IP),然后查看源以查看输出是否更新。这将进一步缩小进一步调查问题的根源