【问题标题】:I18n doesn't translate in models through cucumberI18n 不通过黄瓜在模型中翻译
【发布时间】:2010-10-18 15:51:44
【问题描述】:

我的黄瓜场景测试是否可以在没有标题的情况下创建我的新闻。这必须显示“您必须指定标题。”。

在我的新闻模型中,我有:

validates_presence_of :title, :message => I18n.t(:specify, :what => 'a title')

在我的 en.yml 中有:

specify: "You must specify %{what}."

但是当我运行我的测试时,结果是“翻译缺失:en,指定”。

另一方面,如果我的 I18n.t 在控制器中,它可以完美运行。而且我自己去浏览器测试的时候,也是可以的。

rails 3.0.0、黄瓜 0.9.2 和 i18n 0.4.1

提前致谢。

【问题讨论】:

    标签: ruby-on-rails internationalization testing cucumber


    【解决方案1】:

    我没有直接回答您的问题,但经过简短的查看后,我建议您使用 ActiveRecord 错误消息查找,如下所述:Rails I18n API

    在您的示例中,验证将如下所示:

    validates_presence_of :title
    

    en.yml 将包含以下条目:

    activerecord:
      errors:
        messages:
          blank: "You must specify the %{attribute}."
    

    或者,为了使消息更具体,使用自动查找的任何其他路径:

    activerecord.errors.models.[model_name].attributes.[attribute_name].blank
    activerecord.errors.models.[model_name].blank
    activerecord.errors.messages.blank
    

    我不确定这是否能解决您最初的问题,但可能值得一试。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-02-07
      • 1970-01-01
      • 2018-06-16
      相关资源
      最近更新 更多