【发布时间】:2014-04-04 16:02:22
【问题描述】:
我是第一次部署我的应用程序。帽部署成功。但是,我在特定代码段上遇到错误。所以我决定删除这个代码段,在修复这个错误之前先让网站启动并运行。
我再次运行 cap deploy,但在从源文件中删除的代码段上仍然出现相同的错误(我通过拖尾 production.log 看到错误)。它不应该在那里。我在网上搜索了一下,发现问题是该应用程序存在缓存版本。我发现一个解决方案是删除 /shared 文件夹中的缓存复制文件夹。
我重新启动了我的服务(nginx、unicorn)并再次打开该站点,但在我删除的代码段上仍然出现同样的错误。
我检查了我的新当前文件夹、缓存副本文件夹和最后一个发布文件夹,都没有产生错误的代码段。
这对我来说真的很奇怪。有什么线索吗? 谢谢!
产生错误的代码段:
ActionView::Template::Error (undefined method `stripe' for #<Rails::Application::Configuration:0x00000002a85578>):
20: <meta name="viewport" content="width=device-width">
21: <%= javascript_include_tag 'application' %>
22: <%= javascript_include_tag "https://js.stripe.com/v1/", type: 'text/javascript' %>
23: <%= javascript_tag "Stripe.publishableKey = '#{Rails.configuration.stripe[:publishable_key]}';", type: 'text/javascript' %>
24: <%= csrf_meta_tag %>
25: <%= stylesheet_link_tag "application", :media => "all" %>
26: <script type="text/javascript" src="//use.typekit.net/xoh2pss.js"></script>
app/views/layouts/application.html.erb:23:in `_app_views_layouts_application_html_erb__486989174473553269_34754060'
第 23 行已删除,但仍显示为生成错误。
【问题讨论】:
-
检查 (nginx, unicorn).log 文件以获取错误
-
你能显示那个代码段吗?它可能与正在缓存的数据存储有关。
-
@itsnikolay nginx 和 unicorn 文件中没有错误。错误出现在 production.log 及其关于加载条带环境变量的问题上,但我删除了它只是为了让网站启动并运行。但是,我看到我删除的行产生了错误,这很奇怪,因为这些行不存在。
-
@Agis 我更新了上面的问题并包含错误
-
你确定独角兽重启了吗?你还有独角兽上方的缓存层吗?请在您的浏览器中打开一个新标签并再次访问您的网站。