我的黄瓜情景测试我的新闻是否可以创建没有标题。这必须显示“您必须指定标题。”。
在我的新闻模型中,我有:
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
提前致谢。
答案 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
我不确定这是否可以解决您的初始问题,但可能值得一试。