Rails-从SELECT_TAG和OPTION_GROUPS_FROM_COLLECTION optgroup获取一对值

kb5ga3dv  于 2022-10-15  发布在  Ruby
关注(0)|答案(1)|浏览(101)

是否可以使用Option_Groups_from_Collection_for_SELECT使SELECT_TAG返回一对值(group_id、Item_id)?

= select_tag :item_id,
          option_groups_from_collection_for_select(@groups, :items, :name, :id, :proper_name),
          class: 'form-control'

每个组有多个项目关联,每个项目可以属于一个或多个组。
我想让帮助器将group_id添加到optgroup id属性中,并将Item_id添加到每个项目选项中,并在选择时获取这两个选项以将它们发送到控制器,但我不知道如何操作,甚至不可能(或适当地..)。
我可以做两个不同的下拉列表,其中2.一个将在选择1.one中的一个选项后使用AJAX加载,但这看起来不太正确。
编辑
我认为我可以将一个proc作为一个值方法进行传递,但不幸的是,我无法在其中获取group_id。

= select_tag :item_id,
          option_groups_from_collection_for_select(@groups, :items, :name, ->(el) { "#{el.id}" }, :proper_name),
          class: 'form-control'

向您致以亲切的问候!
编辑
好了,我终于想通了,多亏了https://stackoverflow.com/a/6374301/19174916:)

ie3xauqp

ie3xauqp1#

好了,我终于想通了,多亏了https://stackoverflow.com/a/6374301/19174916:)
使用了GROUPPED_OPTIONS_FOR_SELECT并将group_id作为数据属性传递给每个选项,稍后我将使用简单的JS将其与url一起传递。

相关问题