#ruby-on-rails
#ruby-on-rails
Вопрос:
Недавно я создал модель с именем setting. теперь на странице настроек у меня есть все эти коллекции для настроек. Но когда я пытаюсь сохранить его, он говорит, что NameError в SettingsController: неинициализированная константа SettingsController! Я знаю, что это касается маршрута объекта, который является «map.resource : settings». Вот почему он перенаправляет на locahost: 3000 / настройки (который не существует). как я могу изменить маршрут, чтобы я мог также изменить URL, на который он перенаправляет? Спасибо! это оооочень нужно!
Ответ №1:
Вы можете использовать :controller
опцию в 2.3:
map.resources :settings, :controller => 'what_ever_you_want'
или :as
возможность изменить путь:
map.resources :settings, :as => 'some_other_path'
:controller
Изменяет класс контроллера, чтобы использовать приведенный выше WhatEverYouWantController
. :as
Изменяет путь так, чтобы в приведенном выше примере использовались /some_other_path/new
, /some_other_path/11
и т.д.
Комментарии:
1. спасибо за ответ. но я все еще получаю сообщение об ошибке. Неизвестное действие «создать». : ( и когда я это проверяю, все равно ничего не сохраняется : (
2. @Aldrin: Есть ли у вашего контроллера все обычные методы для контроллера RESTful?
3. у меня нет контроллера для настроек.
4. @Aldrin: Маршруты направляют данные на контроллеры, вам нужен контроллер, иначе ничего полезного не произойдет. Я что-то здесь упускаю?
5. у меня есть контроллер с именем xero. предполагается, что эти настройки отображают настройки для данных, которые будут отправляться через xero API. Я ожидал, что смогу использовать этот параметр и сохранить его в базе данных. вот и все.