路由文件中是否有方法檢查和驗證URL參數。我不是在談論寧靜'/控制器/行動/:ID'參數,但'控制器/行動?param1 = x & param2 = y & param3 = z'。我需要能夠驗證每個參數並要求它們。如何在rails 3中需要和檢查url參數
4
A
回答
7
是的,你可以。例如檢查參數1存在而不是空白的,你會做到以下幾點:
match 'c/action' => 'c#action', :constraints => lambda{ |req| !req.params[:param1].blank? }
您還可以範圍這些限制將它們應用到多條路線:
scope :constraints => lambda{ |req| !req.params[:param1].blank? } do
match 'controller/action1' => 'controller#action1'
match 'controller/action2' => 'controller#action2'
end
2
與約束問題的方法概述通過泛Thomakos是它會阻止具有無效參數集的URL到達您的代碼庫,並且您能夠以有意義的方式響應用戶(用戶將看到頁面未找到錯誤,我相信)。
如果那符合您的要求,那很好,但更友好的方法是將參數驗證移動到相應的控制器中,在您的操作方法中,您將通過此操作方法收到的參數集,任何需要的都丟失了,你會構造一個含義錯誤的消息,並通過以下方法將錯誤返回給用戶:notice
相關問題
- 1. Rails 3:如何混合形式參數和URL參數?
- 2. 在Rails 3中構造URL參數
- 3. 如何在使用強參數時在Rails中需要數組?
- 4. 如何在Rails 3中處理傳統的參數庫URL?
- 5. 的.htaccess需要檢查空白參數
- 6. 檢查XSLT是否需要參數?
- 7. 如何在Rails中獲取URL參數?
- 8. Rails在URL中查詢參數兩次
- 9. SQL查詢需要很長的時間和參數檢查
- 10. 如何檢查函數是否需要參數?
- 11. rails 3,在link_to中如何指定目標和可選的url參數?
- 12. CakePHP 3 Paginator和URL參數
- 13. 需要根據SQL查詢中的表格行檢查參數
- 14. 檢查Rails中是否存在參數
- 15. 如何檢查url中是否存在任何php參數
- 16. php url參數檢查
- 17. API需要查詢參數和正文
- 18. 在Rails 3和jQuery,需要在Ajax接收JSON數據:成功
- 19. Rails,select_tag:需要在參數中返回ID和字符串
- 20. Rails:我如何設置不需要:id參數的方法的路由,而是需要2個查詢參數
- 21. 的Rails 3 - 如何解決不同的參數計數URL
- 22. rails檢查完成date_select和time_select參數
- 23. 如何在post/put simple_form中傳遞get參數和Rails 3?
- 24. 檢查URL包含參數
- 25. Rails路線和URL參數
- 26. Rails Link_to與url和參數
- 27. 如何在JavaScript中檢索URL查詢參數
- 28. 如何檢查url中是否存在參數?
- 29. Rails會話需要「檢查」被稱爲
- 30. 是否有任何缺省的類來檢查參數,如果存在需要從java中刪除它的url?
實際上,它的工作原理是完美的,用戶永遠無法訪問沒有傳遞參數的頁面。網址是由另一個系統生成的,並且對用戶是透明的。這是一個非常特殊和奇怪的情況。 – pho3nixf1re 2011-03-13 05:39:49