【发布时间】:2021-05-18 17:59:42
【问题描述】:
我正在开发一个带有 React 前端的 Ruby on Rails 应用程序。
我目前有后端和前端都需要的常量。为了避免这些分歧并能够在一个地方管理它们,我们将它们存储在后端的config/initializer 文件中。我们有一个 ConstantsController 将这些服务提供给前端。
到目前为止,这一切都很好,但现在,一些常量已经过时了。例如。对于color 常量,我们不再有一些颜色可用并且不想在前端显示它们。但是,如果我们更改常量(删除未使用的常量),我们将破坏一些验证。
现在我只能想到有一个Active 常量集发送到前端,它是Full 常量集的子集。否则,我想在带有禁用字段的表中定义常量,并为每个常量设置一个模型。在这种情况下,我们只会在前端显示active 常量
【问题讨论】:
-
不清楚问题是什么。没有一种“正确”的方式——如果一个“旧”值可以从前端发回(例如,在编辑过程中)而不被纠正为一个“ok”值,你仍然会有验证错误,这意味着需要运行某种回填/修复工作。最有意义的是取决于上下文。
-
您能解释一下“我们将破坏一些验证错误”的意思吗?
-
我可能会尝试为您尝试做的事情找到其他词 - “全局”和“常量”在编程中有一些非常具体的含义。如果您将其改写为例如“在前端和后端使用的应用程序范围设置”,这使得实际讨论不同可能的解决方案变得更加容易,这些解决方案可以是 YAML/JSON 文件、数据库表或两个或类似的任何东西内存缓存。
-
正如@DaveNewton 所指出的,实际上并没有一种“正确”的方式来处理配置,这个问题可能会因为它主要基于意见而被关闭。您可能想对不同的开发人员如何解决该问题进行一些研究,并可能在reddit.com/r/rubyonrails 等开放讨论的论坛上提出问题。
标签: ruby-on-rails reactjs ruby activerecord