0

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

我有一个客人和预订模型,其中每个客人都有很多预订。

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

我目前有一个加入:

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

但我不知道如何查看是否有带有预订 ID 的客人。

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

if guest_has_booking

end

但它似乎不应该是真的。例如,我可以只输入一个确实存在的预订 ID,这意味着 guest_has_booking 为 TRUE。

当没有找到记录时,我还需要能够优雅地处理事情。

4

1 回答 1

0

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

尝试类似的东西

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

!(注意开头的否定)

于 2013-09-14T18:58:32.627 回答