2017-03-09 100 views
0

由于某种原因,块内的form_tag块将不服从检查的参数。我试过true:checked => checked,checked: true和所有不同的组合。红宝石radio_button_tag不服从`检查:真'

这里是我的代码与第三个参数作为true

<%= radio_button_tag :metric_type, :followers_count, true, :class => 'chart-radio-icon' %> 
<%= label :metric_type, 'Followers', :class => 'chart-radio-label chart-radio-metrics-social' %> 

documentation读取

radio_button_tag 'color', "green", true, class: "color_input" 
# => <input checked="checked" class="color_input" id="color_green" name="color" type="radio" value="green" /> 

然而,在DOM它呈现为:

<input type="radio" name="metric_type" id="metric_type_followers_count" value="followers_count"> 

==更新=====================

ruby -v ruby 2.3.0p0 (2015-12-25 revision 53290) [x86_64-darwin15]

rails -v Rails 5.0.1

注意 - 我还没有设置这些类的任何样式呢。

<div> 
    <%= form_tag url_for(controller: 'analytics', action: 'mega_chart'), method: :get, remote: true do %> 

    <p class='chart-legend-header'>Social</p> 
    <%= radio_button_tag :metric_type, :followers_count, :class => 'chart-radio-icon' %> 
    <%= label :metric_type, 'Followers', :class => 'chart-radio-label chart-radio-metrics-social' %> 

    <%= radio_button_tag :metric_type, :views_count, :class => 'chart-radio-icon' %> 
    <%= label :metric_type, 'Views', :class => 'chart-radio-label chart-radio-metrics-social' %> 

    <%= radio_button_tag :metric_type, :comments_count, :class => 'chart-radio-icon' %> 
    <%= label :metric_type, 'Comments', :class => 'chart-radio-label chart-radio-metrics-social' %> 

    <%= radio_button_tag :metric_type, :shares_count, :class => 'chart-radio-icon' %> 
    <%= label :metric_type, 'Shares', :class => 'chart-radio-label chart-radio-metrics-social' %> 

    <%= radio_button_tag :metric_type, :dislikes_count, :class => 'chart-radio-icon' %> 
    <%= label :metric_type, 'Dislikes', :class => 'chart-radio-label chart-radio-metrics-social' %> 

    <%= radio_button_tag :metric_type, :media_count, :class => 'chart-radio-icon' %> 
    <%= label :metric_type, 'Posts', :class => 'chart-radio-label chart-radio-metrics-social' %> 

    <p class='chart-legend-header'>Options</p> 
    <%= radio_button_tag :date_range, 30.days.ago, true, :class => 'chart-radio-icon' %> 
    <%= label :date_range, '30 Days', :class => 'chart-radio-label chart-radio-options-date' %> 
    <%= radio_button_tag :date_range, 90.days.ago, :class => 'chart-radio-icon' %> 
    <%= label :date_range, '90 Days', :class => 'chart-radio-label chart-radio-options-date' %> 

    <%= radio_button_tag :benchmark_type, 'daily_gain', true, :class => 'chart-radio-icon' %> 
    <%= label :benchmark_type, 'Daily Gain', :class => 'chart-radio-label chart-radio-options-benchmark' %> 
    <%= radio_button_tag :benchmark_type, 'total', :class => 'chart-radio-icon' %> 
    <%= label :benchmark_type, 'Total', :class => 'chart-radio-label chart-radio-options-benchmark' %> 

    <%= submit_tag 'Refresh Chart', :id => 'chart-submit' %> 
    <% end %> 
</div> 

这里是什么样子的观点 form in view

+0

'红宝石红宝石-v 2.3.0p0(2015年12月25日修订53290)x86_64的-darwin15]'' 轨道-v Rails的5.0.1' – HashRocketSyntax

+0

@uDaY嗯这是奇怪的。在检查它显示''但按钮本身没有检查 – HashRocketSyntax

+0

@uDaY是的,我保存了代码,刷新了几次页面,重新启动了rails服务器,尝试了隐身模式,甚至尝试了不同的浏览器。请注意,这是红宝石。 – HashRocketSyntax

回答

0

在检查HTML进一步,我发现所有的单选按钮被渲染为checked="checked"所以我每次标记的第三个参数作为false除了我想要的真实之外!

<%= radio_button_tag :metric_type, :followers_count, true, :class => 'chart-radio-icon' %> 
<%= label_tag(:metric_type_followers_count, 'Followers', :class => 'chart-label chart-label-social') %>