我有一个包含2列的模型预订,user_id
和teleporter_id
。
我想将预约的创建锁定为3 teleporter_id
,但我不知道如何从我正在创建的模型中访问属性teleporter_id
。
这是我的代码:
class Reservation < ActiveRecord::Base
# Relations
belongs_to :teleporter
belongs_to :user
# Validations
validate :max_reservation
def max_reservation
if Reservation.where(:teleporter_id => self.teleporter_id).count >= 3
errors.add(:base, t('reservation.model.error.max_reservation'))
end
end
end
我认为问题来自self.teleporter_id
,但我不知道如何从当前模型访问attribut teleporter_id。
答案 0 :(得分:1)
试试这个:
def max_reservation
_id = self.teleporter_id
errors.add(:base, t('reservation.model.error.max_reservation')) unless Reservation.where(teleporter_id: _id).count <= 3
end