【问题标题】:Ruby on Rails: validation depending on localeRuby on Rails:根据语言环境进行验证
【发布时间】:2013-06-17 00:55:35
【问题描述】:

我有一个多语言项目,比如英语和俄语语言环境。 我想要这样的验证:

example.com/en/book/new ASCII 符号可用。

example.com/ru/book/new 西里尔文 符号可用。

最好的方法是什么?

我想在模型中使用“validates ... if ...”。

但是,如果我有很多模型并且只想添加另一个语言环境,我该怎么办?

也许有一些方法可以将此类验证保存在 i18n *.yml 之类的单个文件中?

【问题讨论】:

    标签: ruby-on-rails validation rails-i18n


    【解决方案1】:

    您可以编写 custom validator 并将其包含在您希望验证的模型中

    I18n.locale 将返回您当前的语言环境

    在自定义验证器内部的 case 语句中使用它来进行特定于语言的检查

        case I18n.locale
        when :en
          # check for latin characters
        when :ru
          # check for cyrillic characters
        else
          return true
        end
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-12-18
      • 2012-07-05
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多