【问题标题】:Heroku Error with RoR App. (Devise?)RoR 应用程序的 Heroku 错误。 (设计?)
【发布时间】:2015-03-20 10:21:17
【问题描述】:

我最近在我的应用的 Devise edit.html 页面中添加了一个用户头像功能。该功能(整个应用程序)在本地运行。

现在我已经推送到 Heroku,用户配置文件页面(设计 edit.html)正在创建我不理解或不知道如何解决的错误。

我曾尝试在 Heroku 上 rake db:migrate,但确实收到了弃用警告,但我认为这不是我遇到麻烦的原因,因为在本地一切正常。

弃用警告: 您在 vendor/plugins 中有 Rails 2.3 风格的插件! Rails 4.0 将删除对这些插件的支持。将它们移出并将它们捆绑到您的 Gemfile 中,或者将它们作为 lib/myplugin/* 和 config/initializers/myplugin.rb 折叠到您的应用程序中。有关更多信息,请参阅发行说明:http://weblog.rubyonrails.org/2012/1/4/rails-3-2-0-rc2-has-been-released。 (从 /app/Rakefile:7 调用) 弃用警告: 您在 vendor/plugins 中有 Rails 2.3 风格的插件! Rails 4.0 将删除对这些插件的支持。将它们移出并将它们捆绑到您的 Gemfile 中,或者将它们作为 lib/myplugin/* 和 config/initializers/myplugin.rb 折叠到您的应用程序中。有关更多信息,请参阅发行说明:http://weblog.rubyonrails.org/2012/1/4/rails-3-2-0-rc2-has-been-released。 (从 /app/Rakefile:7 调用)

相关日志:

2015-01-21T19:01:16.221350+00:00 app[web.1]:   Rendered devise/registrations/edit.html.erb within layouts/application (2.8ms)
2015-01-21T19:01:16.223471+00:00 app[web.1]: 
2015-01-21T19:01:16.223480+00:00 app[web.1]:     9:   <div><%= image_tag @user.avatar %></div>
2015-01-21T19:01:16.223474+00:00 app[web.1]: ActionView::Template::Error ( isn't precompiled):
2015-01-21T19:01:16.203961+00:00 app[web.1]: Started GET "/users/edit" for 71.9.233.133 at 2015-01-21 19:01:16 +0000
2015-01-21T19:01:16.223477+00:00 app[web.1]:     7:   <%= f.file_field :avatar %></div>
2015-01-21T19:01:16.223479+00:00 app[web.1]:     8:   <br />
2015-01-21T19:01:16.223483+00:00 app[web.1]:     11:   <br />
2015-01-21T19:01:16.223475+00:00 app[web.1]:     6:   <div><%= f.label :avatar %><br />
2015-01-21T19:01:16.223482+00:00 app[web.1]:     10:   
2015-01-21T19:01:16.223485+00:00 app[web.1]:     12: 
2015-01-21T19:01:16.223487+00:00 app[web.1]:   app/views/devise/registrations/edit.html.erb:9:in `block in _app_views_devise_registrations_edit_html_erb__33245494095269574_70255842973360'
2015-01-21T19:01:16.223489+00:00 app[web.1]:   app/views/devise/registrations/edit.html.erb:3:in `_app_views_devise_registrations_edit_html_erb__33245494095269574_70255842973360'
2015-01-21T19:01:16.223490+00:00 app[web.1]: 
2015-01-21T19:01:16.223492+00:00 app[web.1]: 
2015-01-21T19:01:16.210980+00:00 app[web.1]: Processing by Devise::RegistrationsController#edit as HTML
2015-01-21T19:01:16.221599+00:00 app[web.1]: Completed 500 Internal Server Error in 10.4ms

相关 HTML

<div><%= f.label :avatar %><br />
  <%= f.file_field :avatar %></div>
  <br />
  <div><%= image_tag @user.avatar %></div>
  
  <br />

感谢您的指导和帮助。

【问题讨论】:

  • 请尝试更新环境/production.rb 文件,config.serve_static_assets = true
  • rjackson,谢谢你的想法。不确定它是否适用。我相当确定我的问题确实与预编译有关,并且正在追赶它。

标签: ruby-on-rails heroku devise


【解决方案1】:

您的头像资产出现预编译错误。尝试运行RAILS_ENV=production bundle exec rake assets:precompile,然后再次推送。

您也可以尝试将 Heroku 的 Rails 12Factor gem (https://github.com/heroku/rails_12factor) 添加到生产组中的 gemfile。这使得提供静态资产更容易一些。

This article 也可能会有所帮助。

【讨论】:

  • 好的,我尝试了您建议的命令,导致一系列错误。我已经安装了 12Factor gem,现在正在查看引用的文章。以下是您提供的命令中的错误。感谢您的帮助。 dl.dropboxusercontent.com/u/69497751/prodPrecompilErrors.txt
  • 这是 sass gem 的一个已知错误。尝试降级 gemfile (gem 'sass', '3.2.13') 中的 sass 版本。
猜你喜欢
  • 2018-08-18
  • 2014-12-09
  • 1970-01-01
  • 1970-01-01
  • 2011-12-18
  • 1970-01-01
  • 1970-01-01
  • 2018-07-31
  • 2013-08-25
相关资源
最近更新 更多