嗨,大家好,我對Ruby on Rails非常陌生,我正在製作一個簡單的資源應用程序。該應用程序有三個主要類別(課程,年,資源類型)的過濾器可能會或可能不存在。這些過濾器通過URL中的參數傳遞。我將這些參數存儲在稱爲課程,年份,資源類型的3個數組中。但是有時候這個數組可能是空的。當我試圖運行一個空數組的搜索(例如,也許resourceType爲空,所以我想從特定年份的特定資源,但它可以是任何類型),它會返回一個空集。有沒有辦法在這個函數中使用通配符?如果沒有,有人可以提出合適的解決方案任何幫助將不勝感激Ruby on Rails ActiveRecord如何讓where子句總是評估爲真
這是我試圖運行的功能。
@resources= Resource.where(class_name: courses,
year: years,
resource_type: resourceTypes)
.paginate(page: params[:page], per_page: 10)
.order(:cached_votes_total => :desc)
賓果!我們有一個贏家!我不知道有可能將一個對象傳遞給ActiveRecord。謝啦! –
Kyle的解決方案不會運行多個查詢(除非粘貼到控制檯會話中 - irb/pry調用中間關係檢查會觸發db查詢) –
ops抱歉。只是編輯了答案。 –