【发布时间】:2020-08-19 01:28:02
【问题描述】:
我的模型
Class Person
belongs_to :job, class: "Job"
end
Class Job
has_ancestry orphan_strategy: :adopt
end
在我看来
= form.select(:job_id, Job.all.map { |job| [job.name.titleize, job.id] }, {prompt: 'Job'}, {:class => 'form-control'})
当我不使用 grouped_options_for_select 时,它工作正常。我在更新记录时得到数据。但我的选择选项没有正确列出
= form.select :job_id, grouped_options_for_select(Job.roots.map { |parent| [parent.name, parent.children.map { |c| [c.name, c.id]}] }), {prompt: 'Select'}, {class: "form-control"}
但是当我在更新记录时使用这个'grouped_options_for_select'。作业 ID 未出现在我的选择选项中
output
Parent1
child1 <----this is in the select option
child2 <----this is in the select option
Parent2
child1 <----this is in the select option
child2 <----this is in the select option
例如,我必须使用 Parent2 编辑工作记录。
当我加载作业记录时,我的选择没有得到正确的记录。
选择框总是获得第一个选择选项
【问题讨论】:
-
Job.roots.map { |parent| [parent.name, parent.children.map { |c| [c.name, c.id]}] }的输出是什么? -
@Luskmo 感谢您的评论,输出就像孩子们在父母名下一样。
-
@Luskmo 我更新我的问题
-
Job.roots.map { |parent| [parent.name, parent.children.map { |c| [c.name, c.id]}] }是否遵循两种可能的符号之一? apidock.com/rails/ActionView/Helpers/FormOptionsHelper/… -
@Luskmo grouped_options_for_select 在我的 HTML 中呈现,但当我需要更新时他没有得到我的正确记录
标签: html ruby-on-rails ruby-on-rails-5 ancestry