Возникли проблемы с доступом к ребенку из класса Datamapper

Попытка рассчитать стоимость проживания в отеле по дням пребывания в отеле. Проблема в том, чтобы определить цену. Цена является атрибутом класса Space, который принадлежит Booking. В моей модели я могу вызвать Booking.space.price и вывести значение, но я не могу сделать это из самого класса (даже с самим собой). Это возможно с Datamapper?

class Booking
  include DataMapper::Resource

  attr_reader :calculate_stay, :calculate_price

  property  :id, Serial
  property  :start_date, String
  property  :end_date, String
  property  :message, Text
  property  :guest_number, Integer

  belongs_to :space

  def calculate_stay
    start_date = Date.parse(self.start_date)
    end_date = Date.parse(self.end_date)
    return (end_date - start_date)+1
  end

  def calculate_price
    (self.calculate_stay).to_i * (self.space.price).to_i
  end
end

0 ответов

Другие вопросы по тегам