Рендеринг пользовательских действий не выполняется на производственном сервере, но работает на стадии подготовки - PullRequest
0 голосов
/ 19 декабря 2009

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

В приложении разные учетные записи могут иметь собственные макеты и домашнюю страницу или использовать настройки по умолчанию.

Фрагмент с рабочего сервера (где он выходит из строя)

Rendering template within layouts/accounts/default/layout
ActionView::MissingTemplate (Missing layout main/../layouts/accounts/default/home in view path app/views):

Фрагмент с локального сервера разработчика (где он работает)

Rendering template within layouts/accounts/default/layout
Rendering main/../layouts/accounts/default/home

Структура папок выглядит так

app
|- views
|  `- main
|     `- some_other_main_templates
`- layouts
   `- accounts
      |- default
      |  |- layout
      |  `- home
      `- some_other_account

Вот фрагмент кода из действия индекса MainController

layout_location = @account.use_custom_design? ? @account.subdomain : "default"
render :action => "../layouts/accounts/#{layout_location}/home", 
       :layout => "accounts/#{layout_location}/layout"

Файлы регистрируются и на сервере (как уже упоминалось, эти проблемы не были замечены на промежуточном сервере, поэтому проблема с контролем исходного кода не возникает).

У кого-нибудь есть идеи?

К вашему сведению: я могу разделить пользовательские файлы дома и макета на отдельные папки, но я хотел бы сохранить их вместе, чтобы все было организовано.

1 Ответ

0 голосов
/ 22 декабря 2009

Необходимо использовать render: template => ...

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