4

我想select使用 SimpleForm 从数组(而不是模型集合)构建输入,并且每个options 都有不同的类。

我希望这会起作用:

f.input :method, collection: [
    ["option text", "option_value_1", { class: "class_name_1" }],
    ["option text 2", "option_value_2", { class: "class_name_2" }]
]

问题是它会产生:

<select>
    <option value="option text" class="class_name_1">option text</option>
    <option value="option text 2" class="class_name_2">option text 2</option>
</select>

我怎样才能用简单的形式做我想要的(值应该是“选项值”)?

4

2 回答 2

8

这似乎是使用集合时的限制,请参阅 SimpleForm 的作者在此处的解释。他推荐了一种解决方法:

f.input :method, :as => :select do
  f.select :method, [['option text', 'option_value_1', {"class" => "class_name_1"}], ['option text 2', 'option_value_2', {"class" => "class_name_2"}]]
end
于 2013-03-03T21:31:26.597 回答
0

您还可以将数组数组作为参数传递

= f.input :status, collection: [['option text', 'option_value_1', {"class" => "class_name_1"}], ['option text 2', 'option_value_2', {"class" => "class_name_2"}]]
于 2019-05-08T13:18:42.100 回答