我正在尝试创建一条记录(如果不存在)。
3[System.Int32,System.String,<>f__AnonymousType2
bom_created,recipe_created和cost_rollup_complete是我的模型的必填字段。
.fields
{
color: #646c70;
border: none;
padding: 10px;
width: 83%;
position: relative;
}
.fields:after {
display:block;
content: '';
border-bottom: solid 3px #019fb6;
transform: scaleX(0);
transition: transform 250ms ease-in-out;
}
.fields:focus:after { transform: scaleX(1); }
.fields:after{ transform-origin: 0% 50%; }
我认为我把这些值作为创作的一部分传递但我得到了
@construction = Construction.create!(:bom_created => false,
:recipe_created => false,
:cost_rollup_complete => false,
:opportunity_id => $current_opportunity)
答案 0 :(得分:3)
validates_presence_of
将对false
返回无效。 (false.present? => false
)
您应该使用
validates_inclusion_of :bom_created, in: [true, false]
validates_inclusion_of :recipe_created, in: [true, false]
validates_inclusion_of :cost_rollup_complete, in: [true, false]
答案 1 :(得分:3)
如果要验证是否存在布尔字段(其中实数值为true和false),则需要使用
validates_inclusion_of
:field_name,在:[true,假]。
将您的验证更改为
validates_inclusion_of :bom_created, in: [true, false]
validates_inclusion_of :recipe_created, in: [true, false]
validates_inclusion_of :cost_rollup_complete, in: [true, false]