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 に答える