【问题标题】:Select a blank option in the static drop-down rails form在静态下拉导轨表单中选择一个空白选项
【发布时间】:2015-12-13 08:40:51
【问题描述】:

我有一个 Rails 表单的下拉菜单,用户可以在 1 到 5 之间进行选择。我希望下拉菜单首先选择空白选项。

所以我尝试了这个:

<%= f.select :point1, [[1, 1], [2, 2], [3, 3], [4, 4], [5, 5]], :include_blank => true %>

但它没有用。有什么想法吗?

谢谢!

【问题讨论】:

  • 那么,当表单加载时,您看到什么值被选中?

标签: ruby-on-rails forms ruby-on-rails-4


【解决方案1】:

试试这个:

<%= f.select :point1, options_for_select([[1, 1], [2, 2], [3, 3], [4, 4], [5, 5]]), {:include_blank => true} %>

【讨论】:

    【解决方案2】:

    这对我有用:

    <%= f.select :country, countries, {include_blank: true} %>
    

    如果你也有 HTML 参数要传递,它会是这样的:

    <%= f.select :country, countries, {include_blank: true}, {required: true} %>
    

    注意两个散列的原因是因为第一个是用于rails选项,第二个是用于HTML选项

    一个更广泛的例子:

    <%= f.select :country, countries, {include_blank: true, prompt: "United States"}, {required: true, class: "form-control"} %>
    

    rails 文档中“两个哈希”的example

    <% form_for :article, @article, :url => { :action => "create" }, :html => {:class => "nifty_form"} do |f| %>
      <%= f.text_field :title %>
      <%= f.text_area :body, :size => "60x12" %>
      <%= submit_tag "Create" %>
    <% end %>
    

    还有一个例子here

    如果您不小心将 html 选项与第一个哈希(rails 选项)一起放入,那么它们根本不会被使用,因此请注意使用两个哈希!

    【讨论】:

    • 哇。将它们传递到 2 个哈希中也为我解决了这个问题(Rails 6.0.3)。如果将它包装起来——我猜是相当常见的参数——并将其传递给 HTML 层,它会不会是一个更好的界面?只是一个想法。同时:谢谢!这让我畅通无阻。
    • @Adeynack 对我来说是一样的,我花了很长时间才弄清楚发生了什么。一旦你知道它需要两个单独的哈希值就很容易了,但它需要那种形式的参数并不明显
    猜你喜欢
    • 1970-01-01
    • 2013-06-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多