使用simple_form隐藏选择选项

时间:2017-10-24 18:19:10

标签: ruby-on-rails simple-form

我有一个表单,我希望通过simple_form

获得此结果
<select>
    <option value="" hidden selected>Select your option</option>
    <option value="1">First</option>
    <option value="2">Second</option>
</select>

对我来说,似乎很直观,我可以放placeholder: "Select your option",但它不起作用。

当我添加include_blank: "Select your option"时,不幸的是这句话出现在列表中......

<%=simple_form_for :search, :method => :get do |f| %>
  <%= f.input_field :data, collection: ['First', 'Second'], include_blank: "select your option" %>
  <%= f.submit "send" %>
<% end %>

1 个答案:

答案 0 :(得分:0)

要在 Simple From 或 Rails Form 中实现这一点,您必须修改您的集合,并将 "Select your option" 添加到集合中。 在数组集合中传递给它的 html 属性

<%= simple_form_for :search, :method => :get do |f| %>
  <%= f.input_field :data, collection: [['Select your option', "", { hidden: true }], ['First', 1], ['Second', 2]] include_blank: false, selected: "" %>
  <%= f.submit "send" %>
<% end %>

我无法在 Simple From 文档中找到相关信息。但是他们在 Collections section 的 README.me 中提到:

<块引用>

"给出的所有其他选项都直接发送到底层 Rails 助手:collection_select、collection_check_boxes、 collection_radio_buttons。”

您可以在 Rails docs ActionView::Helpers::FormOptionsHelper

中阅读更多相关信息