我有以下的關聯:統一兩個查詢爲CURRENT_USER Rails中
主機和訂單User has_many Hosts
和Host has_many Orders
我嵌套的路線,所以當用戶希望看到訂單,這將有要通過主機(/hosts/:id/orders
)
我想避免用戶訪問其他用戶的訂單,所以我有這個在我的索引行動:
def index
host = current_user.hosts.find(params[:host_id])
redirect_to :back, alert: 'Host was not found' if host.nil?
orders = host.orders.includes(:order_state).order('id ASC')
end
正如你所看到的,我打了兩次DB。一個用於查找主機是否存在current_user,另一個用於查找該主機的訂單。
如何在一個查詢中執行此操作?
如果'''''''redirect_to'沒有使用'unless'的語法嗎? – tolgap 2014-08-28 09:54:33