2012-03-31 11 views
0

これは以前のレールバージョンで動作しました。私はこれのための解決策を見つけることができません。常にバックチェックボックスの値を送信レールの形で(だけでなく、他のほとんどのフレームワーク、例えば、.NET Webフォーム) -Rails 3.2でチェックボックスが有効でないことを確認しました

#Model 

    validate :branches_cannot_be_empty 

    def branches_cannot_be_empty 
     errors.add(:branches, "can't be empty") if branches.blank? 
    end 

    #View HAML 
    .field.checkbox 
    = f.label(:branch, "Assign to Branch") 
    -if @march.branch_ids.include? (branch.id) 
     =check_box_tag "branches[#{branch.id}]", 1, true 
    -else 
     =check_box_tag "branches[#{branch.id}]" 
    = branch.name 

答えて

3

次のようなチェックボックスを検証することはできません。

チェックボックスをレンダリングすると、隠しフィールドも値falseでレンダリングされます。したがって、チェックボックスをオンにすると、値はtrueになりますが、チェックボックスがオフになっているとfalseの値は空白になりません。

レールのドキュメントのgotchaセクションをご覧ください。 - >http://apidock.com/rails/ActionView/Helpers/FormHelper/check_box

関連する問題