0

我的表单中有一个单选按钮,如下所示

    <div class="btn-group" data-toggle="buttons-radio">
      <%= f.radio_button :start_year, :class=> "btn", :value=> '2007' %> 2007
      <%= f.radio_button :start_year, :class=> "btn", :value=> '2008' %> 2008
      <%= f.radio_button :start_year, :class=> "btn", :value=> '2009' %> 2009
    </div>

我正在使用推特引导程序

我想做如下的事情:

    <div class="btn-group" data-toggle="buttons-radio">
      <%= f.radio_button :start_year, :class=> "btn", :value=> '2007', if @dates.start_year == 2007 :checked => true end %> 2007
      <%= f.radio_button :start_year, :class=> "btn", :value=> '2008', if @dates.start_year == 2008 :checked => true end %> 2008
      <%= f.radio_button :start_year, :class=> "btn", :value=> '2009', if @dates.start_year == 2009 :checked => true end %> 2009
    </div>

但我收到以下错误:

syntax error, unexpected keyword_ensure, expecting ')'
syntax error, unexpected keyword_end, expecting ')'

我一定是在单选按钮中的 if 语句中犯了一个错误,但我不确定如何准确地纠正这个错误

4

2 回答 2

2

尝试

<%= f.radio_button :start_year, :class=> "btn", :value=> '2007', :checked => Proc.new { @dates.start_year == 2007 ? true : false } %> 2007
于 2012-11-03T11:15:57.757 回答
2

我知道这是一个老问题,但也许它对其他人有帮助。我认为我们不需要Proc在这里,我们可以将布尔值传递给:checked键。也@dates.start_year == 2007 ? true : false可以简化为@dates.start_year == 2007.

所以,结果将很简单

<%= f.radio_button :start_year, :value=> '2007', :checked => @dates.start_year == 2007%> 2007
于 2014-04-15T13:11:04.637 回答