Rails: позволяют единичному пространству имен и ресурсу совместно использовать папку представления - PullRequest
1 голос
/ 15 мая 2011

У меня есть следующие маршруты, определяющие определенные ресурсы:

resource :account, :only => [:show]
namespace :account do
  resource :billing
end

Итак, у меня есть AccountsController, который генерирует страницу "show" в /account.

У меня также есть BillingsController, который я хочу просмотреть на /account/billing.

Это работает нормально, но меня беспокоит одна вещь - соглашение гласит, что папка представления для AccountsController является множественным числом, хотя это единственный ресурс - не большое дело, но при создании соответствующего пространства имен для вложенного ресурса I теперь есть две отдельные папки просмотра - /app/views/account (для пространства имен) и app/views/accounts (для ресурса учетной записи).

Итак, этот вид меня отталкивает.

Какой лучший способ заставить AccountsController использовать единственную папку account для представлений?

Ответы [ 2 ]

1 голос
/ 17 мая 2011

Что бы это ни стоило, я решил, что будет проще всего изменить AccountsController на AccountController и изменить мой файл routes.rb следующим образом:

resource :account, :controller => 'account'

Это было бы чище, чем все, что яможно выяснить.

0 голосов
/ 15 мая 2011

Существует множество вариантов, но использование self.prepend_view_path("views/account") в методе, вызываемом before_filter в AccountsController, должно работать.Это заставит его искать в указанном каталоге, прежде чем проверять настройки по умолчанию.

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