從鐵軌控制器操作發出404響應的首選方式是什麼?如何從軌道控制器操作發出404響應?
37
A
回答
35
這似乎不錯...
# Rails 2 and below
render :file => "#{RAILS_ROOT}/public/404.html", :status => 404
# Rails 3 and up
render :file => "#{Rails.root}/public/404.html", :status => 404
6
render :file => '/path/to/some/filenotfound.rhtml',
status => 404, :layout => true
6
在ApplicationController中定義的方法等:
def render_404
render :file => "#{RAILS_ROOT}/public/404.html", :status => 404
end
30
您還可以
raise ActiveRecord::RecordNotFound
異常。
23
下面的方法是最適合我:
raise ActionController::RoutingError.new('Not Found')
或只是
raise ActionController::RoutingError, 'Not Found'
或者有一些其他的解決方案: How to redirect to a 404 in Rails?
0
如果你想發出一個狀態碼在重定向(例如302)上,你可以把它放在routes.rb
:
get "/somewhere", to: redirect("/somewhere_else", status: 302)
。
但是,這隻適用於重定向,而不是直接加載頁面。
相關問題
- 1. 軌道 - 乾涸的控制器操作
- 2. 軌道4:如何測試控制器操作
- 3. 如何創建軌道控制器操作?
- 4. 如何通過不同的軌道控制器持久參數控制器在軌道中的操作
- 5. 如何在軌道控制器上呈現兩個json對象作爲響應
- 6. 未找到MVC控制器操作(404)
- 7. 軌道控制器操作沒有正確執行
- 8. 如何從Java控制器操縱Play Framework WS響應
- 9. 如何操作來自Rails控制器操作的響應狀態代碼
- 10. 錢軌道:控制器
- 11. 如何將設計認證細節傳遞給軌道控制器操作?
- 12. 軌道界定控制器作爲根控制器
- 13. 如何從控制器操作中調用另一個控制器操作?
- 14. JavaScript中的觸發軌跡控制器操作
- 15. 從軌控制器
- 16. 如何從控制器操作中觸發Web API?
- 17. asp.net mvc - 當應用程序發佈到IIS的控制器操作返回404
- 18. 如何從軌道控制器中的URL獲取數據?
- 19. 如何從軌道控制器設置js var?
- 20. 軌道如何從路線中找到控制器?
- 21. 如何格式化從軌道控制器到JSON的結果?
- 22. 軌道控制器的速率限制
- 23. 如何從控制器發送列表,以JSP作爲一個jquery Ajax響應
- 24. 調用控制檯命令安全性:從控制器操作檢查生產沒有發現響應
- 25. 寫出一個自定義的文件從一個軌道控制器動作
- 26. 如何發送發送狀態代碼作爲404響應而不是404.jsp作爲html響應在春季?
- 27. 從另一個視圖控制器的視圖控制器觸發器操作
- 28. 控制器POST操作響應「未授權」
- 29. 爲什麼我的控制器/操作未響應:put?
- 30. 從軌道控制檯的軌道文檔
可能重複的[如何在Rails中重定向到404?](http://stackoverflow.com/questions/2385799/how-to-redirect-to-a-404-in-rails) – 2014-04-14 09:41:38