gpt4 book ai didi

ruby-on-rails - 如何根据模型为grouped_options_for_select生成数组

转载 作者:行者123 更新时间:2023-12-03 16:06:46 25 4
gpt4 key购买 nike

产品 belogs_to 类别。
一个类别有_许多产品

我需要一个包含 optgroup 标签的选择标签。

所以基本上,我需要我的 HTML 标记类似于伪代码:

<select name="product" class="products">
<option value=""></option>
<optgroup label="Cheese">
<option value="1">cheese 1</option>
<option value="2">cheese 2</option>
<option value="3">cheese 3</option>
</optgroup>
<optgroup label="Juices">
<option value="3">juice 1</option>
<option value="4">juice 2</option>
<option value="5">juice 3</option>
</optgroup>
</select>

根据我的模型,我将如何生成要放入 的数组grouped_options_for_select ?例如,生成 的最佳方法是什么? grouped_options ?
<%= select_tag 'product', grouped_options_for_select(grouped_options), :include_blank => true , :id => nil, :class => 'product' %>

最佳答案

Controller :

@products = Product.all(:include => :category)
@grouped_options = @products.inject({}) do |options, product|
(options[product.category.name] ||= []) << [product.name, product.id]
options
end

看法:
<%= select_tag 'product', grouped_options_for_select(@grouped_options), :include_blank => true , :id => nil, :class => 'product' %>

关于ruby-on-rails - 如何根据模型为grouped_options_for_select生成数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5963895/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com