Rails 4:从模型访问属性

时间:2014-08-18 22:49:40

标签: ruby-on-rails ruby-on-rails-4 model

我有一个包含2列的模型预订,user_idteleporter_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。

1 个答案:

答案 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