我正在使用Kaminari來處理分頁。我最近發現很多虛假請求正在請求一個無效的頁碼,例如/post/page/undefined
。由於我使用的是Solr,所以錯誤的頁碼被傳入並導致500錯誤。使用Kaminari時驗證頁碼
我希望能夠在傳遞給控制器之前驗證頁碼。所以無效的頁碼會導致路由錯誤。
我問了Kaminari的創建者和he gave a temporary solution。不過,我想知道是否有更乾淨的方法來做到這一點。我也不想將這個邏輯包含在每個可分頁的資源中,因爲這根本不會幹。
我的路線例如:
resources :transactions do
get 'page/:page', :action => :index, :on => :collection
end
嗯,是有辦法使用約束比他的解決方案更漂亮的方法是什麼?我怎樣才能以控制器的DRY方式默認第1頁? – lulalala
我建議將網頁從網址中取出並放入查詢字符串中......這種方式是可選的...在您的控制器中,您可以調用'params [:page] || 1' – rthbound
我想使用動作緩存,所以我使用了URL方法。如果請求是'page = undefined',那麼默認爲1將無法工作。 – lulalala