在 rails 中,定义常量字符串(如错误消息、通知等)的最佳方法是什么



我上周左右一直在学习rails,我刚刚开始接触BDD。任何黄瓜或 rspec 教程中的典型示例是确保将成功/错误消息显示为操作成功或失败的检查。

这意味着现在在代码中有两个常量消息,例如"您的消息已成功传递"两次 - 一次在应用程序中,另一次在测试中。这对我来说很奇怪...它不是 DRY,它是 Rails 开发人员赖以生存的,如果你想将消息更改为其他内容,你必须这样做两次。

这是标准吗?我已经在locales目录中阅读了en.yml,并且想知道是否有人将其用于他们的字符串。到目前为止,我还没有在任何教程中看到这一点,这就是我问的原因。en.yml 中的字符串对黄瓜/rspec 测试可见吗?如果是这样,如何在代码中访问它们?如果en.yml不是要走的路,那么rails开发人员如何存储他们的常量字符串值?

使用区域设置文件来存储与区域设置相关的字符串,例如您提到的消息。然后只需执行以下操作:

page.should have_content I18n.translate(:message_delivered)

最新更新