[英]I18n doesn't translate in models through cucumber
我的黄瓜方案测试是否可以创建没有标题的新闻。 这必须显示“您必须指定标题”。
在我的新闻模型中,我有:
validates_presence_of :title, :message => I18n.t(:specify, :what => 'a title')
在我的en.yml中有:
specify: "You must specify %{what}."
但是当我运行测试时,结果是“缺少翻译:zh-cn,请指定”。
另一方面,如果我的I18n.t在控制器中,则可以正常工作。 当我自己浏览器进行测试时,它也可以工作。
Rails 3.0.0,黄瓜0.9.2和i18n 0.4.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
我不确定这是否可以解决您的最初问题,但是可能值得尝试。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.