0
我在我的應用程序中使用了BreadcrumbsOnRails。 應用程序已完全本地化,但我在導航翻譯時遇到了一個問題。 當菜單呈現,本地化名稱始終是俄羅斯(甚至I18n.locale =「恩」)rails-breadcrumb和I18n本地化
設立區域在應用控制器:
class ApplicationController < ActionController::Base
protect_from_forgery
before_filter :set_locale
add_breadcrumb I18n.t('navigation.home'), :root_path
...
def set_locale
I18n.locale = params[:locale] || session[:lang]
session[:lang] = locale unless session[:lang] == locale
I18n.locale = locale
end
...
end
我旁邊控制器用麪包屑:
class ExamsController < ApplicationController
...
add_breadcrumb I18n.t('navigation.exams'), :exams_path
before_filter :exam_breadcrumb, :only => [:show, :edit]
...
end
#config/lib/breadcrumbs_builder
HAML 視圖麪包屑:
- breadcrumbs = render_breadcrumbs(:separator => '/', :tag => :li, :builder => BreadcrumbsBuilder)
- unless breadcrumbs.blank?
.subnav#main-subnav
.container
%ul.breadcrumbs
= breadcrumbs
有了這個硬編碼一切都OK了:
add_breadcrumb I18n::t('navigation.exams', locale: 'en'), :exams_path