I18n不通过黄瓜翻译模型

时间:2010-10-18 15:51:44

标签: ruby-on-rails internationalization testing cucumber

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

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

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

提前致谢。

1 个答案:

答案 0 :(得分:0)

我对您的问题没有直接的答案,但经过简短的介绍后,我建议您使用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

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