【问题标题】:Cached app issue - deployed with capistrano缓存应用程序问题 - 使用 capistrano 部署
【发布时间】: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 我更新了上面的问题并包含错误
  • 你确定独角兽重启了吗?你还有独角兽上方的缓存层吗?请在您的浏览器中打开一个新标签并再次访问您的网站。

标签: ruby-on-rails capistrano


【解决方案1】:
# config/initializers/stripe.rb
Stripe::API_KEY = 'asd8df9sadf766'


# application.html.erb
<%= javascript_tag do -%>
  Stripe.publishableKey = <%= Stripe::API_KEY %>;
<% end -%>

【讨论】:

  • 谢谢。问题是即使我添加了这个应用程序的代码也不会更新。我也可以在 yml 文件中添加我的 Stripe 环境,或者添加我的 application.yml 文件来阻止这个错误。
  • 你尝试重启服务器了吗?
【解决方案2】:

您的资产是否已预编译并且旧的 all.js(或类似文件)是否在不存在此更改的情况下重新部署?如果 javascript 部分调用的例程不存在,可能会产生错误——这可能是您尝试调用的条带方法。如果它们是手动预编译的,而您进行了更改但没有重新编译,则重新部署只会将旧版本放回原处。

【讨论】:

    猜你喜欢
    • 2014-01-14
    • 1970-01-01
    • 2016-10-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-06-30
    相关资源
    最近更新 更多