Вопрос может быть не таким сложным, но я смущен. У меня есть два пользователя: ученик и учитель, а для тех, кому нужны отдельные модели, контроллеры и представления. Я хочу, чтобы учитель использовал /t/sign_up
и для ученика /s/sign_up
. Я использую программу для аутентификации, я знаю, что это возможно, потому что так работает активный администратор.Использование утилит для нескольких моделей
ответ
условии, что вы уже дали несколько моделей и представлений с завещанию, и просто хочу, чтобы изменить путь к файлу, вы можете сделать, что настройка конфигурации/routes.rb:
devise_for :students, path: 's'
devise_for :teachers, path: 't'
который заменит ваши маршруты, как это :
http://localhost:3000/s/sign_up
http://localhost:3000/t/sign_up
Если вы хотите, чтобы ваши мнения на основе различных моделей, вы можете настроить config.scoped_views = true
внутри config/initializers/devise.rb
файла и генерировать представления для этой модели:
rails g devise:views students
И если вы хотите, чтобы настроить каждый контроллер, вы можете создавать свои файлы контроллеров, как это:
rails generate devise:controllers students
Это будет создавать контроллеры на основе имени модели, таким образом, вы можете определить их в ваши маршруты:
devise_for :students, path: 's', controllers: { sessions: "students/sessions" }
- 1. Использование pg_search для нескольких моделей
- 2. Использование утилит в моделях
- 3. Использование нескольких моделей моделей с представлениями классов
- 4. Повторное использование видов для нескольких видов моделей
- 5. Использование Tuple для передачи нескольких моделей
- 6. Django - использование нескольких моделей для аутентификации
- 7. Использование нескольких моделей как один
- 8. Использование нескольких моделей Find() CakePHP
- 9. act_as_follower для нескольких моделей
- 10. Использование нескольких моделей в одном контроллере
- 11. Использование Zend_Autoloader для моделей
- 12. Повторное использование нескольких моделей в gson
- 13. Использование утилит с двумя типами пользователей
- 14. Unransackable атрибуты для нескольких моделей
- 15. Разворот маршрутизации для нескольких моделей
- 16. Tastypie апи для нескольких моделей
- 17. One View для нескольких моделей?
- 18. cakePHP сохранить для нескольких моделей
- 19. Интерфейс Laravel для нескольких моделей
- 20. Django ManyToMany для нескольких моделей
- 21. Ассоциация полиморфизмов для нескольких моделей
- 22. Использование нескольких моделей взвешенных данных для рекомендации Mahout
- 23. Использование цикла for для извлечения коэффициентов из нескольких моделей
- 24. Использование одного и того же представления для нескольких моделей
- 25. Использование devise для нескольких моделей в rails app
- 26. Использование keras ImageGenerator для обучения нескольких моделей ввода
- 27. Использование формы Django для генерации динамической формы из нескольких моделей
- 28. VB MVC Повторное использование частичного представления для нескольких моделей
- 29. рельсов: То же Логин для нескольких моделей
- 30. Упражнения для утилит и циклов
Благодарим за отзыв. Я попробовал это, и он дал мне два вида маршрутов. '/ S/sign_up' относится к' devise/registrations # new', а second '/ t/sign_up' также относится к' devise/registrations # new'. Разве это не создаст конфликтов? Как разработчик будет знать, чтобы создать новый 'student' в'/s/'и новый экземпляр учителя в'/t/'? – user464
Легко, если вам нужно другое поведение контроллера, вы можете создавать контроллеры специально для этой модели. Я отредактирую ответ. – pyfl88
Спасибо, я создал отдельные контроллеры для студентов и преподавателей в своих выигранных каталогах, то есть «контроллеры/ученики/разработчики» и «контроллеры/учитель/разработчик» также настраивают маршруты и «инициализаторы» для разработки и создания представлений. Теперь разработчик использует мои контроллеры, но все еще не использует мои представления, созданные с помощью devise, т. Е. «Rails g devise: views student/devise» и «rails g devise: views teacher/devise». – user464