在Rails模型中访问外部表列值

时间:2016-05-13 17:43:59

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

这就是我所拥有的和它的工作正常。我需要访问房间的费率并将其乘以total_days以获得总费用。如何在方法中访问“费率”列定价?

Booking belongs_to :room 
Room has_many :bookings, belongs_to :rate, 
Rate has_many :rooms

def calculate_days
   unless self.start_date.blank? || self.end_date.blank?
   self.total_days = self.end_date - self.start_date
   end
end

2 个答案:

答案 0 :(得分:1)

如果您在预订模式中,请致电self.room.rate.pricing以获取定价。然后,您可以获得成本:

def total_cost
  total_cost = self.room.rate.pricing * self.calculate_days
end

您还应该处理calculate_days有空白开始日期或结束日期的情况。也许默认返回0。

答案 1 :(得分:0)

您可以直接访问该表并使用" find"进行搜索方法...

以下是所有finder方法的链接

以下是如何按ID" 1"。

查找行的示例
Room.find(1)

或者您可以搜索booking_date = 2016-02-13

的位置
Room.where(booking: '2016-02-13')