2

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

example.com/ en /book/new <- 在此处的文本字段中,只有ASCII符号可用。

example.com/ru/book/new < -在此处的文本字段中,只有西里尔符号可用。

最好的方法是什么?

我有一个想法在模型中使用 ' validates ... if ... '。

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

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

4

1 回答 1

1

您可以编写自定义验证器并将其包含在您希望验证的模型中

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

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

    case I18n.locale
    when :en
      # check for latin characters
    when :ru
      # check for cyrillic characters
    else
      return true
    end
于 2013-06-20T22:51:20.273 回答