На первый взгляд, нет ничего плохого в вашем синтаксисе. Я предполагаю, что @new_appointment
не содержит ожидаемых вами значений, поэтому запрос к базе данных возвращает значения, отличные от ожидаемых.
Попробуйте выгрузить @new_appointment.inspect
или проверьте файлы журналов, чтобы увидеть, какой SQL генерирует искатель, или используйте
Appointment.send(:construct_finder_sql, :conditions => {
:date_of_appointment => @new_appointment.date_of_appointment,
:trainer_id => @new_appointment.trainer_id
})
для просмотра сгенерированного SQL (construct_finder_sql
- это защищенный ActiveRecord::Base
метод).
Обновление на основе ваших правок
@new_appointment = :appointment
должно быть что-то вроде @new_appointment = Appointment.new(params[:appointment])
. :appointment
- это просто символ, он не будет автоматически связан с вашими параметрами, если вы его не сообщите.