簡體   English   中英

如何在 Ruby 中檢查默認單選按鈕?

[英]How to have a default radio button checked in Ruby?

我有一個使用 Ruby 構建的單選按鈕,如下所示

      <p>Which design do you prefer to use? </p>
      <% [ 'Design 1', 'Design 2', 'Design 3', 'Design 4', 'Design 5' ].each do |theme| %>
          <br><%= radio_button_tag 'theme', theme, @theme == theme %>
          <%= label_tag "theme_#{theme}", theme.humanize %>
      <% end %>

我想確保第一個元素(又名設計 1)在默認情況下始終處於選中狀態,除非用戶選擇其他設計。

你可以這樣做:傳入checked以檢查項目

<%= radio_button_tag 'theme', theme, checked: @theme.FIELD_NAME == 'design' %>

有關詳細信息,請參見此處http://apidock.com/rails/ActionView/Helpers/FormTagHelper/radio_button_tag

回答你的評論:

啊我不明白? :( 所以<%= radio_button_tag 'theme', theme %>變成 <%= radio_button_tag 'theme', theme, checked: @theme.FIELD_NAME == 'design' %> ?? 但這會引發錯誤?我只想要默認情況下要選擇的第一個單選按鈕元素 -

FIELD_NAME是模型FIELD_NAME的名稱。 要僅檢查第一項,您可以嘗試以下操作:只需添加checked: true關鍵字

<%= radio_button_tag 'theme', theme, @theme == theme, checked: true %>

好的,所以您需要執行以下操作:

<% [ 'Design 1', 'Design 2', 'Design 3', 'Design 4', 'Design 5' ].each_with_index do |theme, i| %>
  <% if i == 0 %>
      <br><%= radio_button_tag 'theme', theme, @theme == theme, checked: true %>
  <% else %>
      <br><%= radio_button_tag 'theme', theme, @theme == theme %>
  <% end %>
  <%= label_tag "theme_#{theme}", theme.humanize %>
<% end %>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM