Ruby on rails Rails 3.2.11:RailsAdmin本地化
我已经在我的本地化站点(2种语言)上安装了rails_admin gem,我需要管理(/admin)始终使用英语。根据本文,我应该在rails_admin.rb文件的开头添加以下两行Ruby on rails Rails 3.2.11:RailsAdmin本地化,ruby-on-rails,ruby-on-rails-3,rails-admin,Ruby On Rails,Ruby On Rails 3,Rails Admin,我已经在我的本地化站点(2种语言)上安装了rails_admin gem,我需要管理(/admin)始终使用英语。根据本文,我应该在rails_admin.rb文件的开头添加以下两行 require 'i18n' I18n.default_locale = :de 但它不起作用。知道怎么做吗?文档中确实说明,如果本地设置为英语以外的其他语言,则只需执行此操作,因此您可能会发现不需要进行此设置。如果确实需要设置,请确保它位于rails\u admin.rb 更新- 由于您仍然遇到问题,请告诉我您
require 'i18n'
I18n.default_locale = :de
但它不起作用。知道怎么做吗?文档中确实说明,如果本地设置为英语以外的其他语言,则只需执行此操作,因此您可能会发现不需要进行此设置。如果确实需要设置,请确保它位于
rails\u admin.rb
更新-
由于您仍然遇到问题,请告诉我您使用的是什么版本的ruby?您是否运行了
捆绑安装
?您能试试sudogem安装i18n
吗。此外,如果它找不到您的区域设置,您可能需要将其指向它们,即I18n.load\u translations“#{RAILS\u ROOT}/locales/#{locale}.rb”
在相同的问题上遇到了问题。我是这样解决的:
class ApplicationController < ActionController::Base
include Clearance::Controller
# Prevent CSRF attacks by raising an exception.
# For APIs, you may want to use :null_session instead.
protect_from_forgery with: :exception
before_filter :set_locale
def set_locale
if [Clearance, RailsAdmin].include?(self.class.parent)
I18n.locale = :en
else
I18n.locale = params[:locale] || I18n.default_locale
end
end
end
class ApplicationController
RailsAdmin
控制器正在从您的应用程序控制器继承,因此您需要明确告诉他们使用区域设置:en在那里,或者您可以打开类并覆盖设置区域设置您是否将:de
更改为:en
,并尝试了该操作?您认为它不起作用是什么意思?您有没有应用程序控制器中有任何配置吗?RailsAdmin继承自您的应用程序控制器…感谢您的回复。这是我的源代码:谢谢回复。请查看我的源代码:我发现,即使RailsAdmin
控制器继承自ApplicationController
,但它在路由到“/admin”或“/admin/etc”时从不触发“ApplicationController”,因此您的解决方案与RailsAdmin