2
我有一個電影列表以及他們的評級。在我的頁面頂部,我有一個表格,列出了顯示每個可用評分(G,PG-13等)的複選框。一旦用戶點擊複選框並點擊提交,我只想讓選定的電影出現。使用複選框過濾列表
在我的索引方法中,我有一個名爲@filtered_ratings
的實例變量,它從檢查的電影中收集鍵。我的想法是使用find方法在我的控制器中更改@movies
,並將@filtered_ratings
中的鍵匹配到電影列表中。不過,我認爲我一直在做這個不正確的工作,因爲我無法實現它。我嘗試了幾種方法,如@movies=Movie.find(params[:id] = @filtered_ratings)
,但我知道這是不正確的。有什麼建議麼?
你的假設是對的;不過,我只是使用一個塊來生成一切。另外,當我將控制器更改爲建議的代碼時,它會完全刪除電影列表。最後,我們被明確告知'find'會是最簡單的方法。 – Anconia
如果你絕對必須使用'find',你可以改爲使用Movie.find(:all,conditions:[「rating IN(?)」,params [:ratings]]),但這會產生相同的SQL查詢。如果此代碼刪除電影列表,params [:ratings]可能爲零或爲空。你在params散列中看到了什麼值? – cdesrosiers
在我的索引頁面的頂部,我放了'= params [:ratings] .keys',並且渲染的值是被選框的值。所以我確定params散列不是空的。 – Anconia