У меня возникли некоторые проблемы с пользовательской регистрацией Devise в Rails 5. У меня есть 3 модели со следующими ассоциациями AR
Пользователь (Devise)
Глава
- принадлежит_ к стране: 1016 *
- has_many: пользователи
Страна
Я создал начальный файл для Chapter и Country, и он работает отлично, с их ассоциациями, работающими отлично. Однако я хочу создать вложенный выпадающий список на странице регистрации, сгенерированной Devise, чтобы выбрать главу из страны, к которой они будут принадлежать (и, прежде чем кто-нибудь спросит, это не культовая вещь, это для социальной инициативный проект: П). Я могу добавить настраиваемое поле для имени пользователя, поэтому я знаю, что мои config/initializers/devise.rb
и app/controllers/application_controller.rb
настроены правильно.
Это мой grouped_collection_select
:
<%= grouped_collection_select(resource, :chapter_id, Country.all, :chapters, :name, :id, :city) %>
, который - причудливо - производит тег select следующим образом:
<select name="#<User:0x007fb7686ba478>[chapter_id]" id="__User:0x007fb7686ba478_chapter_id" ></select
Имя все перепутано, и это причина, по которой он не выбирает имя при отправке формы, выдавая ошибку «Глава должна существовать». Я был на SO и Google весь этот чертов день, пытаясь понять, почему и не зашел слишком далеко. Он отлично работает, когда я
<%= f.select :chapter_id, Chapter.pluck(:city, :id) %>
который создает ...
<select name="user[chapter_id]" id="user_chapter_id" ></select
но я хочу вложенный выпадающий список.
Любая помощь приветствуется!