По какой-то причине рендеринг представления не выполняется на производственном сервере, однако он отлично работает на локальном сервере разработки и промежуточного сервера.
В приложении разные учетные записи могут иметь собственные макеты и домашнюю страницу или использовать настройки по умолчанию.
Фрагмент с рабочего сервера (где он выходит из строя)
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"
Файлы регистрируются и на сервере (как уже упоминалось, эти проблемы не были замечены на промежуточном сервере, поэтому проблема с контролем исходного кода не возникает).
У кого-нибудь есть идеи?
К вашему сведению: я могу разделить пользовательские файлы дома и макета на отдельные папки, но я хотел бы сохранить их вместе, чтобы все было организовано.