gpt4 book ai didi

ruby-on-rails - 选择标签,指定选定的选项(或将数组元素移动到索引 0)

转载 作者:行者123 更新时间:2023-12-04 23:47:48 25 4
gpt4 key购买 nike

假设我正在查询一个水果列表,然后只将水果的 id 和名称收集到 @fruit 中。

[32, "apple"],
[8, "bannana"],
[10, "cantelope"],
[11, "grape"],
[15, "orange"],
[41, "peach"],
[22, "watermelon"]

@fruit 正在 Select 助手中使用。位于@fruit 索引 0 处的“apple”将是选择的选定值(第一个选项)。这是一个虚构的示例,但默认情况下,我将始终通过名称(而不是 id)知道“橙色”是什么。我需要“orange”作为选择标签的选定值(第一个选项)。

":prompt => 'orange'"只是在选择中添加了第二个 "orange"实例。到目前为止,我在 Google 上找到的所有内容似乎都是关于在列表中添加一个额外的值或空白。

由于数组的索引 0 始终成为选定值(如果在选择帮助器中没有使用提示或空白),有没有办法找到包含名称“orange”的索引(@fruit[x].name == 'orange'),并将其移动到索引 0,同时在列表的其余部分保留现有的 alpha 排序?所以,@fruit 数组看起来像:
@fruit[0]    [15, "orange"],
@fruit[1] [32, "apple"],
@fruit[2] [8, "bannana"],
@fruit[3] [10, "cantelope"],
@fruit[4] [11, "grape"],
@fruit[5] [41, "peach"],
@fruit[6] [22, "watermelon"]

我现在唯一能想到的就是遍历@fruit,如果找到“orange”,则将其添加到新数组中。然后再次遍历@fruit 数组并添加任何名称不为“orange”的内容。我不知道如何写出来,但似乎它会做我正在寻找的东西。也许有一些简单的方法可以做到这一点我错过了(指定数组中的哪个索引是第一个写入的选项)?

谢谢你!

最佳答案

看这里:http://guides.rubyonrails.org/form_helpers.html#making-select-boxes-with-ease

如果您使用现有的助手,您可以通过 id 指定要选择的选项。具体这个例子:

<%= options_for_select([['Lisbon', 1], ['Madrid', 2]], 2) %>

output:

<option value="1">Lisbon</option>
<option value="2" selected="selected">Madrid</option>

你说你不知道 ID 哪个选项是“橙色”。如果您想在水果数组中找到“orange”的 ID 就可以了,那么您可以使用帮助程序:
(@fruit.detect { |i| i[1] == 'orange' } || []).first

关于ruby-on-rails - 选择标签,指定选定的选项(或将数组元素移动到索引 0),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4848032/

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