我在Rails 5中进行自定义Devise注册时遇到了一些问题。我有3个具有以下AR关联的模型
用户(Devise)
第
章国家/地区
我为Chapter and Country创建了一个种子文件,并且工作正常,并且它们的关联运行良好。但是,我想做的是在由Devise生成的“注册”页面上创建一个嵌套下拉列表,以从他们所属的国家/地区选择章节(在任何人问之前,这都不是邪教,这是社交活动倡议项目:P)。我能够为用户名添加自定义字段,因此我知道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 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
但是我想要一个嵌套的下拉列表。
我们竭诚欢迎您的光临!
答案 0 :(得分:0)
也许您会尝试这样做:
grouped_collection_select(:user, :chapter_id, @countries, :chapters, :name, :id, :city)