0

ビューのチェックボックスを使用して if ステートメントのどの部分を実行するかを決定する Rails アプリがあります。これは簡単な作業だと思いましたが、送信ボタンをクリックした後のコンソールの応答には、「adult」=>「0」(チェックされていない場合)と「adult」=>「1」(チェックされている場合)の両方が表示されますが、私は試します

puts @application.adult

コンソールはtrueのみを出力します

これが私の .html.haml ファイルの関連部分です...これは私の最近の試みです

=simple_form_for( :application, :url => users_partner_acceptance_path( application ), :method => :put ) do | f |
  .clearfix
    .column
      =f.input :full_name, label: 'Full Name', placeholder: 'Full Name'
      .help-block * please enter your legal name
      =f.input :address_1, label: 'Address', placeholder: 'Apartment, Street'
      =f.check_box_tag :adult, inline_label: 'I am over 18 years old.', as: :boolean, checked = true
      .guardian
      =f.input :guardian_full_name, label: 'Guardian Full Name', placeholder: 'Full Name'
      =render 'partner_details_errors', application: application
  =f.submit 'Show Contract', class: 'btn btn-primary', data: { 'text' => 'Create Contract', 'disabled-text' => 'Creating ...' } 

私はもう試した

{:checked=> true}

checked: true 

それ以外の

checked = true

そしておそらく私が試した他のいくつか

=f.check_box :adult 

=f.input :adult 

それ以外の

=f.check_box_tag :adult

私のコントローラーでは、次のようなことをしようとしています:

if @application.adult == true
  # do something
else
  # do something else
end

どんな提案でも、助けていただければ幸いです。ありがとう!

Rails 3.2.12を使用しています

4

2 に答える 2

0

check_box_tag(name, value = "1", checked = false, options = {})

大人がApplicationクラスの一部である場合は、のf.check_box代わりに必要ですf.check_box_tag。それ以外の場合は、check_box_tag...

= f.label :adult, "I am over 18 years old."

= f.check_box, :adult

params送信時にハッシュがどのように見えるかを投稿できますか?if @application.adult == true参考までに、ifはすでにそれを行っているので、あなたはする必要はありません。

于 2013-03-18T07:40:59.720 に答える
0

<%= f.check_box :hobby, {:multiple => "true"}, "hockeys", nil %>

<%= f.check_box :hobby, {:multiple => "true"}, "cricket", nil %>


これは役に立ちます。

于 2013-10-15T15:00:13.737 に答える