поиск модели в рельсах для 2 значений? - PullRequest
0 голосов
/ 06 августа 2010

Я написал эту инструкцию для поиска, чтобы проверить, сохраняется ли назначенная встреча или нет, конфликтует ли уже сохраненная встреча.но это не работает, может кто-нибудь, пожалуйста, укажите мне, где я иду не так?

@new_appointment = :appointment #which is the params of appointment being sent back from submit.
@appointments = Appointment.all(:conditions => { :date_of_appointment => @new_appointment.date_of_appointment, :trainer_id => @new_appointment.trainer_id}

)

ошибка от :date_of_appointment => @new_appointment.date_of_appointment, это всегда будет ложным как:

спасибо

1 Ответ

3 голосов
/ 06 августа 2010

На первый взгляд, нет ничего плохого в вашем синтаксисе. Я предполагаю, что @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 - это просто символ, он не будет автоматически связан с вашими параметрами, если вы его не сообщите.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...