gpt4 book ai didi

ruby-on-rails - Rails 持久键值存储 : Only in database?

转载 作者:行者123 更新时间:2023-12-02 03:31:51 25 4
gpt4 key购买 nike

我设计了一个 Rails 的应用程序,其中包含在专用表格中组织的大量模型(应该如此)。
最近,我一直在尝试将我的应用程序(标题等)的硬编码参数提取到 YAML 配置文件中。尽管我对这种方法很满意,但问题是我无法通过应用程序即时修改它们,只能通过文本编辑器进行修改。
现在,我已经考虑使用专用的数据库表来存储它们,但这似乎是一种矫枉过正,因为这个 settings_table将有大量的字段,并且只有一个对象。
基本上,我正在寻找的是一个简单的长期(永远)键值存储。 Reddis 服务器显然是另一个矫枉过正的服务器。似乎 ActiveRecord::Cache::Store 可能是一个解决方案,尽管我不确定长期存在的部分。
实现这一目标的“真正”Rails 方式是什么?
编辑:数据类型
几十个 key->string 值,像这样:

page_title: "My Awesome Website"
full_name: "James Bond"
occupation: "Secret Agent"
facebook_account: "www.facebook.com/007"

最佳答案

您可以只拥有一列并以序列化格式存储数据,而不是为每个键设置一列。有了这个,即使将来你想添加更多数据也不会有任何问题。

http://apidock.com/rails/ActiveRecord/AttributeMethods/Serialization/ClassMethods/serialize会给你一些引用,否则你也可以通过将数据视为散列来使用 to_json 和 JSON.parse 方法。

在你的情况如下
config_data = {page_title: "我很棒的网站",
full_name: "詹姆斯邦德",
职业:“ secret 特工”,
facebook_account: "www.facebook.com/007"}

config_data.to_json 可以直接存入数据库,用于读取 JSON.parse(dbvalue)

关于ruby-on-rails - Rails 持久键值存储 : Only in database?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26158286/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com