【问题标题】:Rails Select first Radio button in list and maintain value after submitRails 选择列表中的第一个单选按钮并在提交后保持值
【发布时间】:2013-12-12 20:42:37
【问题描述】:

我有以下 radio_button_tag 组,我希望选择第一个组,并且当我提交表单时,我想保持选定的值。任何帮助将非常感激。

<% [ 'plain', 'desert', 'green', 'corporate', 'funky' ].each do |value, name| %>
            <%= radio_button_tag :ed_type, (name || value) %>
            <%= label_tag :"ed_type_#{(name || value)}", value.humanize %>
<% end %>

【问题讨论】:

    标签: ruby-on-rails ruby-on-rails-3 radio-button


    【解决方案1】:

    试试这个

      <%= radio_button_tag :ed_type, (name || value), (name == 'plain' || value == 'plain') %>
    

    【讨论】:

    • 感谢 Ace Dimasuhid 的回答 :-)
    【解决方案2】:
    <% [ 'plain', 'desert', 'green', 'corporate', 'funky' ].each_with_index do |value, index| %>
                <%= radio_button_tag :ed_type, value, ( params[:ed_type] ? (params[:ed_type]==value) : (index==0) ) %>
                <%= label_tag value %>
    <% end %>
    

    我的代码忽略了名称|值部分。没问题,你可以自己添加。

    当表单被加载(GET 请求)时,params[:ed_type] 将为 nil。因此,将评估第二个条件,因此将选择 index==0(第一个)元素。

    当表单再次提交并渲染时,params[:ed_type] 不会为 nil。因此,第一个条件总是被评估并为相应的单选按钮变为真。

    【讨论】:

    • 太棒了,这就是我想要的,只有一件事你忘了在最后添加“)”。
    猜你喜欢
    • 2013-10-06
    • 1970-01-01
    • 2015-03-13
    • 2017-03-20
    • 2011-01-15
    • 2012-05-05
    • 1970-01-01
    • 1970-01-01
    • 2015-01-20
    相关资源
    最近更新 更多