Rails加入表

时间:2013-09-14 18:29:37

标签: ruby-on-rails

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

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

如果客人要访问他们的预订,他们需要输入预订表中的预订ID以及他们在Guest表中的电子邮件地址。

我目前有一个加入:

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

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

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

if guest_has_booking

end

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

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

1 个答案:

答案 0 :(得分:0)

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

尝试类似

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

(注意开头的否定!