Я получаю свой результат, но чувствую себя грязно внутри.
Как мне лучше получить ближайшую начальную дату pay_rate или home_base_assignment, которая раньше или равна заданной дате?
class Employee < ActiveRecord::Base
has_many :home_base_assignments
has_many :position_assignments
has_many :pay_rates, :through => :position_assignments
def closest_prior_assignment_start(date)
closest_prior_pay_rate_start =
pay_rates.where("pay_rates.start_date <= ?", date)
.order(:start_date).last.start_date
closest_prior_home_base_start =
home_base_assignments.where("start_date <= ?", date)
.order(:start_date).last.start_date
[closest_prior_pay_rate_start, closest_prior_home_base_start].sort!.last
end
end
Фу!