好日子大家,軌道4處理區域的錯誤頁面
我用Rails 4,在我的網站,我使用下面的鏈接處理場所:
恩 - http://www.sample.com/XXXXX
zh-香港 - http://www.sample.com/zh-HK/XXXXX
ZH-CN - http://www.sample.com/zh-CN/XXXXX
此外,我使用自定義錯誤頁的方法來處理404,4 22和500錯誤。 即
配置/ routes.rb中
scope "(:locale)", :locale => /en|zh-CN|zh-HK/ do
root 'home#index'
get '/' => 'home#index', as: :home_page
get 'about' => 'home#about', as: :about_page
end
%w(404 422 500).each do |code|
get code, :to => "errors#show", :code => code
end
get '/:locale' => 'home#index'
配置/環境/ production.rb
Rails.application.configure do
config.exceptions_app = self.routes
end
應用程序/控制器/ application_controller.rb
class ApplicationController < ActionController::Base
before_filter :set_locale
def set_locale
I18n.locale = params[:locale] || I18n.default_locale
end
end
應用程序/控制器/ errors_controller.rb
class ErrorsController < ApplicationController
def show
render status_code.to_s, :status => status_code, :layout => false
end
protected
def status_code
params[:code] || 500
end
end
****************這是我的問題。******************
當我鍵入它可以向我顯示自定義錯誤頁面,如http://www.sample.com/zh-HK/abc,
模式中的錯誤鏈接。
但是,當我輸入錯誤的鏈接,如http://www.sample.com/abc
(沒有語言環境(實際上它應該是默認語言環境:en)),
這不會進入我的自定義錯誤頁面。
相反,它給我這樣一個錯誤頁面:
我怎樣才能解決這個問題,這樣,當它使用的是默認的語言環境(這意味着鏈接的locale),它可以使用自定義錯誤頁?謝謝!
你找到任何答案嗎? –