改变铁路环境。生产

时间:2012-04-29 21:46:56

标签: ruby-on-rails web-applications

我的rails应用程序在处于开发模式时工作得很好但是如果我将其更改为生产模式,则会出现错误的错误,我看不出任何原因。你知道任何可能的问题吗?

这是我的错误消息:

Started GET "/favicon.ico" for 127.0.0.1 at Mon Apr 30 00:55:16 +0300 2012

ActionController::RoutingError (No route matches [GET] "/favicon.ico"):
  actionpack (3.2.1) lib/action_dispatch/middleware/debug_exceptions.rb:21:in `call'
  actionpack (3.2.1) lib/action_dispatch/middleware/show_exceptions.rb:56:in `call'
  railties (3.2.1) lib/rails/rack/logger.rb:26:in `call_app'
  railties (3.2.1) lib/rails/rack/logger.rb:16:in `call'
  actionpack (3.2.1) lib/action_dispatch/middleware/request_id.rb:22:in `call'
  rack (1.4.1) lib/rack/methodoverride.rb:21:in `call'
  rack (1.4.1) lib/rack/runtime.rb:17:in `call'
  activesupport (3.2.1) lib/active_support/cache/strategy/local_cache.rb:72:in `call'
  rack (1.4.1) lib/rack/lock.rb:15:in `call'
  rack-cache (1.1) lib/rack/cache/context.rb:132:in `forward'
  rack-cache (1.1) lib/rack/cache/context.rb:241:in `fetch'
  rack-cache (1.1) lib/rack/cache/context.rb:181:in `lookup'
  rack-cache (1.1) lib/rack/cache/context.rb:65:in `call!'
  rack-cache (1.1) lib/rack/cache/context.rb:50:in `call'
  railties (3.2.1) lib/rails/engine.rb:479:in `call'
  railties (3.2.1) lib/rails/application.rb:220:in `call'
  rack (1.4.1) lib/rack/content_length.rb:14:in `call'
  railties (3.2.1) lib/rails/rack/log_tailer.rb:14:in `call'
  rack (1.4.1) lib/rack/handler/webrick.rb:59:in `service'
  /home/erogol/.rvm/rubies/ruby-1.8.7-p358/lib/ruby/1.8/webrick/httpserver.rb:104:in `service'
  /home/erogol/.rvm/rubies/ruby-1.8.7-p358/lib/ruby/1.8/webrick/httpserver.rb:65:in `run'
  /home/erogol/.rvm/rubies/ruby-1.8.7-p358/lib/ruby/1.8/webrick/server.rb:173:in `start_thread'
  /home/erogol/.rvm/rubies/ruby-1.8.7-p358/lib/ruby/1.8/webrick/server.rb:162:in `start'
  /home/erogol/.rvm/rubies/ruby-1.8.7-p358/lib/ruby/1.8/webrick/server.rb:162:in `start_thread'
  /home/erogol/.rvm/rubies/ruby-1.8.7-p358/lib/ruby/1.8/webrick/server.rb:95:in `start'
  /home/erogol/.rvm/ru

非常感谢...

当我输入rake资产时:我得到了预编译:

rake aborted!
no such file to load -- uglifier
  (in /home/erogol/Dropbox/Bunch_It/app/assets/javascripts/application.js)

Tasks: TOP => assets:precompile:primary
(See full trace by running task with --trace)
rake aborted!
Command failed with status (1): [/home/erogol/.rvm/rubies/ruby-1.8.7-p358/b...]

Tasks: TOP => assets:precompile
(See full trace by running task with --trace)

4 个答案:

答案 0 :(得分:2)

尝试在config.serve_static_assets = true文件中设置\config\environments\production.rb。这帮助了我。

答案 1 :(得分:1)

从错误消息中,据说Rails找不到文件:/favicon.ico。请确保它存在。

答案 2 :(得分:1)

我的第一个猜测是,如果这只是在生产中而不是在开发中,您可能需要编译您的资产。您需要运行:

rake assets:precompile

或更改您的production.rb环境文件以包含:

config.assets.compile = true

但是,错误消息中的路径只是/favicon.ico而不是assets/favicon.ico。并且,favicon文件应该只在您的/public目录中。你能确认这是文件所在的位置吗?

答案 3 :(得分:0)

问题在于config.assets.compress = true。它会产生关于我的javascript文件的问题。我把它设置为假,我的应用程序开始工作得很好。但是我不知道是否将其弄错会导致我的程序丢失。