2013-09-14 2 views
0

Я задал недавний подобный вопрос, но натолкнулся на большее количество проблем.Rails стыковочный стол

У меня есть модель гостя и бронирования, где у каждого гостя есть много заказов.

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

Я в настоящее время присоединиться:

guest_has_booking = Guest.joins(:bookings).where('bookings.id' => id) 

, но я не знаю, как проверить, есть ли гость с ид-бронирования.

В мой контроллер у меня есть условный:

if guest_has_booking 

end 

, но это, кажется, TRUE, когда оно не должно быть. Например, я могу просто ввести идентификатор бронирования, который существует, и это будет означать, что guest_has_booking имеет значение ИСТИНА.

Мне также нужно иметь возможность обрабатывать вещи изящно, когда записи не найдены.

ответ

0

Вероятно, он возвращает пустой массив, который оценивается как истинный как логический. Используйте метод blank?, чтобы узнать, есть ли у вас результаты.

Try что-то вроде

guest_has_booking = !Guest.joins(:bookings).where('bookings.id' => id).blank? 

(обратите внимание на отрицание ! в начале)

Смежные вопросы