Приложение работает нормально в режиме разработки, но при его развертывании на управляемом сервере открывается общедоступная страница / 500.html («Извините, но что-то пошло не так») , по-видимому, когда контентзапрашивает базу данных mysql.Создание статического содержимого работает, удивительно динамическое содержимое работает только локально в dev.
rake db: migrate прошло нормально, я вручную вставил тестовую запись в базу данных mysql.
Тем не менее, запрос на просмотр приводит к 500, и журнал выдает
ActionView::Template::Error (NULL pointer given):
10: ...
11: <% @projects.each do |project| %>
12: ...
На сервере работает MySQL 5.1.54, в Rails установлен mysql gem.Любые намеки приветствуются!
edit:
Итак, я просто запустил
rails c production
на удаленном сервере и создал запись в моем "Модель клиента:
irb(main):003:0> c = Client.new
=> #<Client id: nil, name: nil, permalink: nil, created_at: nil, updated_at: nil>
irb(main):004:0> c.name = "realclient"
=> "realclient"
irb(main):005:0> c
=> #<Client id: nil, name: "realclient", permalink: nil, created_at: nil, updated_at: nil>
irb(main):006:0> c.save
=> true
Хотя все поля, кроме name , отображаются пустыми в irb, действительная БД на сервере показывает все соответствующие поля, все в порядке:
2 realclient realclient 2011-04-22 13:59:12 2011-04-22 13:59:12
(идентификатор, имя, постоянная ссылка, создано, обновлено)
Итак, суть: Active Record не может правильно получить значения из БД, которые на самом деле там?