Ruby on rails 钢轨连接台

Ruby on rails 钢轨连接台,ruby-on-rails,Ruby On Rails,我最近问了一个类似的问题,但遇到了更多的问题 我有一个客人和预订模式,每个客人都有很多预订 要让客人访问他们的预订,他们需要输入预订表中的预订id和客人表中的电子邮件地址 我目前有一个加入: guest_has_booking = Guest.joins(:bookings).where('bookings.id' => id) 但我不知道如何检查是否有带预订id的客人 在我的控制器中,我有一个条件: if guest_has_booking end 但这似乎是真的,当它不应该是。例

我最近问了一个类似的问题,但遇到了更多的问题

我有一个客人和预订模式,每个客人都有很多预订

要让客人访问他们的预订,他们需要输入预订表中的预订id和客人表中的电子邮件地址

我目前有一个加入:

guest_has_booking = Guest.joins(:bookings).where('bookings.id' => id)
但我不知道如何检查是否有带预订id的客人

在我的控制器中,我有一个条件:

if guest_has_booking

end
但这似乎是真的,当它不应该是。例如,我可以只输入一个确实存在的预订ID,这将意味着guest_已经预订了


我还需要能够在找不到记录的情况下优雅地处理事情。

它可能返回一个空白数组,该数组作为布尔值计算为true。使用
blank?
方法查看是否有结果

试试像这样的东西

guest_has_booking = !Guest.joins(:bookings).where('bookings.id' => id).blank?
(注意开头的否定词