2015-05-18 6 views
0

Интересно, как создать контроллер Singleton в Rails 4.2.Контроллер Singleton в Rails 4.2

Например rails g scaffold Dashboard сгенерирует dashboards_controller ведьма в моем случае не имеет смысла, потому что мне нужна только одна приборная панель, поэтому dashboard_controller - это то, что мне нужно.

Я вижу, есть опция -c, чтобы указать имя контроллера, однако я уверен, что было что-то вроде --singleton, но ушло сейчас.

Итак, вопрос заключается в том, следует ли использовать -c для переопределения имени контроллера или «нового пути Rails» для создания множественных имен контроллеров, например dashboards_controller, а затем использовать маршрутизатор для указания URL-адреса панели управления?

ответ

2

Я не знаю, как это сделать, используя генератор, но его легко создать с множественным именем, а затем изменить его на единицу вручную.

Ваш маршрут будет что-то вроде:

resource :dashboard, controller: 'dashboard', :only => ['show'] 

Ваш класс контроллера должен быть переименован в DashboardController и само имя файла для dashboard_controller.rb. Папка просмотра, в которой хранятся ваши файлы просмотра, также должна быть сингулярной. app/views/dashboard

«Rails Way» по умолчанию имеет названия контроллеров с множественными именами, но имеет смысл использовать уникальные имена контроллеров, когда они имеют смысл - что они, безусловно, делают в этом случае.

+0

Я нашел для него флаг '-c', он позволяет мне указать имя контроллера, дело в том, что я просто ищу подтверждение, если это нормально для использования сингулярных имен в Rails. Официальные рекомендации говорят, что контроллер должен быть множественным, но они отправляют Rails с 'application_controller', который является единственным, поэтому я думаю, что все в порядке. Спасибо за ответ! –

0

rails g controller dashboard похоже, что вы ищете.

$ rails g controller dashboard 
     create app/controllers/dashboard_controller.rb 
     invoke erb 
     create app/views/dashboard 
     invoke test_unit 
     create test/controllers/dashboard_controller_test.rb 
     invoke helper 
     create app/helpers/dashboard_helper.rb 
     invoke test_unit 
     invoke assets 
     invoke coffee 
     create  app/assets/javascripts/dashboard.coffee 
     invoke scss 
     create  app/assets/stylesheets/dashboard.scss 
Смежные вопросы