首页 > 解决方案 > 我应该使用 YAML 文件还是数据库在 Rails 应用程序中存储我的成功/错误消息?

问题描述

在我的 Rails 应用程序中,执行一些代码后,我想向用户发送 Slack 消息以通知他们执行结果。我想为多个进程发送这些消息,简而言之,我需要在某个地方存储成功/错误的消息模板(它们只是短字符串,例如“嗨,我们已经成功完成 x!”,但是它们因每个过程而异)。

现在,我SlackMessage在数据库中有一个模型,您可以从中检索消息内容。但是,我听说最好在yml文件中管理这样的自定义消息,因为以后添加/编辑消息更容易(就像这样,即使这是针对语言环境的)。

这种情况的最佳实践是什么?如果不使用数据库,我很感激您能否提供有关如何操作的指针或链接(就使用yml文件而言,我能找到的唯一材料是国际化)。

标签: ruby-on-railsyamlerror-messaging

解决方案


为什么不使用I18nRails 中已经存在的模块?这非常适合存储消息,并让您能够使用将来需要的翻译。

获取消息很简单:

Slack.message(I18n.t(:slack_message, scope:'slack'))

在这种情况下,您需要这样的翻译文件:

en:
  slack:
    slack_message: This is the message you are going to select.

阅读有关 I18n 的更多信息:https ://guides.rubyonrails.org/i18n.html


推荐阅读