在我的应用程序中,我具有以下SupportSession模型和验证规则:
class SupportSession < ApplicationRecord
validates :cancelled, presence: true
但是每当我尝试使用以下数据为数据库播种时:
SupportSession.create!(venue: 'Cafe', mode_of_delivery: 'face-to-face', support_type: 'mentoring', start_time: '2019-05-15 16:12', end_time: '2019-05-15 16:35', total_breaks_mins: 0, duration_mins: 23, rounded_duration_mins: 30, status: 'ready', cancelled: false, support_allocation_id: 6)
我收到此错误:
ActiveRecord::RecordInvalid (Validation failed: Cancelled can't be blank)
我很困惑,因为我的种子数据中显然存在被取消的信息。
这是SupportSession表结构:
t.string :venue
t.string :mode_of_delivery
t.string :support_type
t.datetime :start_time
t.datetime :end_time
t.integer :duration_mins
t.integer :rounded_duration_mins
t.integer :total_breaks_mins
t.string :status
t.boolean :cancelled
t.string :reason_for_cancellation
t.datetime :rearranged_to
有什么想法吗?
我也在我的模型中尝试过:
validates_presence_of
并使用:
cancelled: '0'
cancelled: 0
cancelled: 'false'
但似乎没有任何作用。