4

所以我在一个项目中使用 CSS、JS 和 Ruby。现在我在 ruby​​ 中设置了我的位置等,但我想在我的 css 文件上访问它们。这是为特定语言环境自定义视图。我在控制器中完成了以下操作。

 before_filter :set_locale

 private

 def set_locale
    @locale ||= params[:locale] || session[:locale] || I18n.default_locale
      I18n.locale = session[:locale] = @locale
 end

如何在我的 CSS 文件中访问这个设置的位置?例如,如果位置是俄罗斯,则将高度设置为 200 像素或类似的东西。

4

1 回答 1

9

您可以将当前语言环境作为 lang 添加到 html 标记。例如

%html{lang: I18n.locale}
<html lang="en"> or <html lang="ru">

并添加带有语言前缀的特定语言样式

html[lang="en"] {
  # for english part
}

html[lang="ru"] {
  # for russian part
}

你也可以改变行为现有的类

.test-title {
  html[lang="en"] & {
    // specific english style
  }
}
于 2012-07-20T10:16:31.050 回答