2015-03-31 3 views
0

Я имею дело с некоторыми странными несоответствиями на моем сервере производства для моего сайта/блога.Проблемы с рельсами между разработкой и производством

Например, на моем сервере разработки (просто работает WEBrick) это мой Navbar (что правильно) и способен отображать до 100% времени:

enter image description here

После нажатия моего последнего кода на (пассажир & nginx), мой навигатор теперь показывает (обратите внимание на недостающую ссылку в блоге) и появляется около 40% времени. Я должен держать поражая «обновление» в моем браузере, пока блоге ссылку на шоу:

enter image description here

Что дает здесь? Новое для RoR, но я считаю, что проблема связана с моим блоком MVC. Я просматриваю файлы журналов для nginx, и они ничего не показывают.

Где еще можно пойти, чтобы диагностировать эту проблему?


Вот код в моем NavBar частичной (_navigation.html.erb)

<div class="navbar-collapse collapse"> 
    <ul class="nav navbar-nav"> 
    <li class="active"><a href="/">Home</a></li> 
    <li><%= link_to("How It Works", "/howto") %></li> 
    <li><%= link_to("FAQ", "/frequent") %></li> 
    <li><%= link_to("Blog", blogs_path) %></li> 
    <li><%= link_to("Contact Us", "/contact_forms/new") %></li> 
    </ul> 
</div> 

Tailing production.log не очень показательны либо. Когда ссылка «Блог» действительно загружается:

I, [2015-03-31T12:48:59.624208 #5061] INFO -- : Started GET "/" for X.X.X.X at 2015-03-31 12:48:59 -0400 
I, [2015-03-31T12:48:59.625722 #5061] INFO -- : Processing by StaticPagesController#home as HTML 
D, [2015-03-31T12:48:59.627223 #5061] DEBUG -- : Testimonial Load (0.4ms) SELECT "testimonials".* FROM "testimonials" 
I, [2015-03-31T12:48:59.628629 #5061] INFO -- : Rendered layouts/_navigation.html.erb (0.3ms) 
I, [2015-03-31T12:48:59.631063 #5061] INFO -- : Rendered layouts/_footer.html.erb (0.5ms) 
I, [2015-03-31T12:48:59.631303 #5061] INFO -- : Rendered static_pages/home.html.erb within layouts/application (3.1ms) 
I, [2015-03-31T12:48:59.632149 #5061] INFO -- : Completed 200 OK in 6ms (Views: 4.3ms | ActiveRecord: 0.4ms) 

Когда ссылка в блоге не загружается production.log, вряд ли есть что-либо написанное. Это похоже на то, что сервер регистрирует только частичную загрузку страницы или что-то в этом роде.

Я внесла свои изменения, перезагрузил веб-сервер (как nginx &), так и даже перезагрузил сам сервер ... до сих пор не повезло.

Я в недоумении, что делать, чтобы исправить эту проблему, поскольку все работает отлично в разработке, и я все еще довольно новичок в RoR.

+0

Можете ли вы показать код навигационного барьера? – AbM

+0

@AbM просто добавлен в исходное сообщение. – Godzilla74

+0

есть ли причина, почему вы не используете рельсовых помощников? – Avdept

ответ

0

Исходный код довольно тривиальный и нет условного разветвления (if) вокруг ссылки в блоге.

Таким образом, единственное объяснение состоит в том, что код, выполняемый в производстве, не тот, который у вас есть в разработке.

Убедитесь, что развертывание выполнено успешно. Осмотрите папку своего сервера, чтобы убедиться, что код там. Также убедитесь, что веб-сервер перезагружен, иначе он все равно может обслуживать ранее развернутый код. Для Passenger и Nginx вам нужно (если оно не изменилось) до touch файла restart.txt в папке проекта /tmp/restart.txt для выполнения перезапуска пассажира (без явно перезапускающего весь процесс Nginx).

+0

Я использую 'cap deploy' для перевода моего кода на сервер из моего git-репо. Я понимаю, что процесс перезапускает nginx/пассажир автоматически. – Godzilla74

+0

Также проверено, что на сервере работает тот же код, что и в моей среде разработки. Я сделал это, изменив ссылку в блоге в моей навигации на 'blog_path' и проверил код для частичного _navigation на сервере. – Godzilla74

+0

Если код отсутствует, сервер не был перезапущен. –

Смежные вопросы