检查RoR上两个对象之间的相等性

时间:2013-08-29 10:03:57

标签: ruby-on-rails-3.2

我有一套汽车(所以是汽车模型)。每辆车都有可用日期,可供选择(另有型号“可用性”)。 我有另一个名为“预约”的模型,在这一天我现在可以选择一些汽车,但是这一天也必须对应于所有选择的汽车都可用的日子。所以,我一方面只计算我的车。另一方面,查看第一辆车和每天可用的所有可用日期,看看当天是否还有其他车型。事实上,我的车数必须与可用日期的数量相对应。我希望我已经清楚了。无论如何这是我的意思:

我的控制器

def available_date
  @cars = 0
  @available = 0
  @cars = @appointment.cars.count

  @appointment.cars.first.availability.each do |d|
    @available = Availability.find_all_by_day(d.day)
    if @available.count == @cars
      @appointment.day = @available
    end
  @available.save
  end
end

这似乎不起作用,我也在想,如果有多个可用性,它也不会起作用。

1 个答案:

答案 0 :(得分:0)

如果@available.count == @cars,则您要设置@appointment.day = d.day

如果您然后break,您将退出每个循环并拥有尽可能早的约会日期(假设可用性按升序排序)

如果在每个循环结束时@ appointment.day为零,则所有汽车都没有共享日期。

希望这有帮助!