不知道如何標題這個問題,但它在這裏。上市數據依賴關聯數據庫
我有兩張桌子,Hotdesks和Bookings。用戶可以預訂hotdesk。
在我的控制器中,我有一個數組@eastdesks,其中包含位置爲「East」的所有辦公桌。
我想要做的是檢查這些書桌中哪些書已預訂並顯示可用書桌列表。這是我的控制器:
@eastdesk = Hotdesk.order("code ASC").where(:location => "East")
@booking = Booking.all
這是我到目前爲止的代碼:
<% @eastdesk.each do |ed| %>
<% @booking.each do |b| %>
<% if b.date == Date.today && b.type == "Hot Desk" %>
<% if b.desk == ed.code %>
<%= ed.code %> (Booked)
<% end %>
<% end %>
<% end %>
<% end %>
這隻能說明那些已經被預訂一空。
我很欣賞這是非常醜陋的,因爲我一直在玩。這很令人困惑,但是t表與預訂中的'desk'欄和eastdesk中的'code'欄相關聯。 (即,與桌子553預訂將連接到桌子與代碼553)希望是有道理的。感謝您的幫助
編輯----
目前有在@eastdesk陣列(E90和E23)2張辦公桌。 E90桌子已經預訂好了,E23桌子根本沒有被預定。對於上面的代碼,我得到以下輸出:
E90 (Booked)
我想顯示的是沒有被預訂的辦公桌。我的漫遊辦公模式包括:
has_many :bookings
我想加入以下到我的預訂模式,但我不知道,因爲AR不同類型的預訂,而不是所有的人都屬於熱辦公桌。
belongs_to :hotdesks
所以你要顯示的那還沒有被預訂?或兩者? – Agis
理想情況下,我想顯示所有的桌子,然後有預定的那些被塗成紅色,但這是一個簡單的CSS事情,一旦我解決了這個問題 – MikeHolford
你如何確定一個'Hotdesk'是否被預訂,編程? – Agis