Специфичная для контроллера схема HAML и Rails3 не отображается - PullRequest
0 голосов
/ 08 апреля 2011

У меня есть контроллер Users и раскладка с именем 'users.html.haml'.Проблема, с которой я столкнулся, заключается в том, что Rails, похоже, не находит пользовательский макет автоматически.Я должен сказать каждое действие в контроллере Users, чтобы сделать макетЕсли я не скажу действию, какой макет использовать, он вообще не будет отображаться.

В настоящее время макет отображается только в том случае, если действие контроллера имеет следующую строку:

render :layout=>'users.html.haml'

Есть идеи?Заранее спасибо.

ОБНОВЛЕНИЕ: Я идиот.Я переписал метод «initialize» в контроллере приложения, и он вызывал неправильную загрузку всех макетов, если я не указал конкретному действию, какой макет использовать.В конце концов, не имеет ничего общего с хамлом.Спасибо за все ваши ответы.

Ответы [ 2 ]

2 голосов
/ 08 апреля 2011

У вас есть файл users.html.haml в вашем каталоге

app / views / layouts

, верно?А не ваш каталог app / views / users?

0 голосов
/ 08 апреля 2011

Попробуйте использовать это:

render :layout=>'users'

ПРИМЕЧАНИЕ. Я удалил часть .haml.html, потому что в этом нет необходимости

Другое, что вы можете сделать, это получить макетв верхней части контроллера, как

layout 'users'

Edit: и, как сказал @Noli, ваши макеты должны быть в пути app / views / layouts

...