Интересная маленькая ошибка 500 - PullRequest
0 голосов
/ 15 октября 2010

Я только что попытался выполнить развертывание на Heroku и получил ошибку сервера 500.

logos heroku:

Started GET "/" for ##.##.###.### at 2010-10-14 17:59:34 -0700  
  Processing by WelcomeController#index as HTML
Rendered welcome/index.html.erb within layouts/index (2.3ms)
Completed   in 3ms

ActionView::Template::Error (can't convert nil into String):
5:   <meta charset="utf-8">
6:   <title>Hello</title>
7:   <%= stylesheet_link_tag "global", "home", :cache => true %>  
app/controllers/welcome_controller.rb:5:in `index'

Затем я попытался запустить локальный сервер в производственном режиме:

c:\Sanj\ruby>rails server production  
Exiting  
C:/Sanj/Ruby192/lib/ruby/gems/1.9.1/gems/rack-1.2.1/lib/rack/handler.rb:21:in `const_get': wrong constant name production (NameError)  
from C:/Sanj/Ruby192/lib/ruby/gems/1.9.1/gems/rack-1.2.1/lib/rack/handler.rb:21:in `get'
from C:/Sanj/Ruby192/lib/ruby/gems/1.9.1/gems/rack-1.2.1/lib/rack/server.rb:217:in `server'
from C:/Sanj/Ruby192/lib/ruby/gems/1.9.1/gems/railties-3.0.0/lib/rails/commands/server.rb:54:in `start'
from C:/Sanj/Ruby192/lib/ruby/gems/1.9.1/gems/railties-3.0.0/lib/rails/commands.rb:30:in `block in <top (required)>'
from C:/Sanj/Ruby192/lib/ruby/gems/1.9.1/gems/railties-3.0.0/lib/rails/commands.rb:27:in `tap'
from C:/Sanj/Ruby192/lib/ruby/gems/1.9.1/gems/railties-3.0.0/lib/rails/commands.rb:27:in `<top (required)>'
from script/rails:6:in `require'
from script/rails:6:in `<main>'

Эти проблемы кажутся тесно связанными - знаете, в чем проблема?

Большое спасибо!


Welcome Controller # index

def index 
  render :layout => "index"
end

Скажите, пожалуйста, могу ли я предоставить больше информации?


Решение

Спасибо вам, ребята, за ваши ответы.Проблема возникала из-за того, что для serve_static_assets было установлено значение false в средах / production.rb.Это позволило системе найти файлы CSS, которые, по-видимому, вызывали 'nil'.Другое изменение, которое я попробовал, было удаление: cache => true из таблиц стилей.

Ответы [ 3 ]

4 голосов
/ 15 октября 2010

Они не связаны.Ошибка локально, потому что вы используете команду неправильно.Do:

rails server -e production
1 голос
/ 02 июня 2012

serve_static_assets

Проблема возникла из-за того, что для serve_static_assets было установлено значение false в environment / production.rb.Изменение этого параметра позволило системе находить файлы CSS, которые были 'nil', которые она пыталась преобразовать в строку.Я также удалил :cache => true, и в сочетании это решило проблему развертывания Heroku.

1 голос
/ 15 октября 2010

Ну, я не знаю, связаны ли эти 2 проблемы ...

Во-первых, не могли бы вы предоставить код вашего контроллера приветствия?давайте посмотрим, что там происходит.

Во-вторых, ваша команда неверна, пожалуйста, запустите: rails server -e production

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...