ビューのチェックボックスを使用して 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を使用しています