2015-07-21 73 views
1

我想簡單地驗證表單上的條款複選框。我已經實現瞭如下因素: http://guides.rubyonrails.org/active_record_validations.html#acceptanceRails驗證接受不驗證

class User < ActiveRecord::Base 
    validates :terms, acceptance: true 
end 

我已經剝離的形式回覆選框僅用於調試目的。

無論通過條目:條款不驗證。表單參數似乎正確傳遞。

Parameters: {"utf8"=>"✓", "authenticity_token"=>"+1dzwEMajQN4cL7KdGjlIw2kFSyVk/36eAhNhdydUXhLfzyT7LnCiUGdfzYt3hD/dD7evIVMiVWePv+7p+scyA==", "user"=>{"terms"=>"1"}, "commit"=>"Register"} 

當我更新驗證以下我收到一條錯誤消息:「必須先接受條款」,無論提交的條款價值。這使我相信表單中的值沒有被傳遞給驗證。

validates :terms, acceptance: true, :allow_nil => false 
+0

您可以添加一個代碼片段,顯示您在控制器中更新/創建用戶的位置嗎? – ConnorCMcKee

回答

0

OK ......

的問題是驗證助手在保存之前驗證表中的行的內容。爲了觸發,我需要將「:terms」值分配給模型進行驗證。

我只是通過params散列中的「條款」項目,期待它被驗證。