そのため、ブール値を使用して男性または女性を選択するフォームがあります。ブール値フィールドにvalidates:presenseを使用すると、戻ります。性別を空白にすることはできません! Wehn私は検証部分を削除し、trueまたはfalseとしてDBに渡します。それは空のままではありません。私はt/fを使用しているのでこれが問題だと思っていますが、その理由がわからないようです。こちらが私のモデルです
class Visit < ActiveRecord::Base
validates :user_id, :first_name, :last_name, :birthdate, :gender,
presence: true
end
そして、フィールドに対する私の見解
<%= f.select :gender,
[['Male',false],['Female',true]], :value => false,
label: "Gender" %>
ブール値フィールドではプレゼンス検証を使用できないためです。代わりに包含を使用してください。次のドキュメントを参照してください。 http://api.rubyonrails.org/classes/ActiveRecord/Validations/ClassMethods.html
ブール値フィールドの存在を検証する場合(実際の値はtrueおよびfalse)、[true、false]でvalidates_inclusion_of:field_nameを使用します。)