在最近的一次采访中有人问我,为什么我们将数据库做成yml文件而不是rb。最初,我对这个问题感到困惑,我尝试给出一个可以序列化和反序列化yml文件的答案,但是答案并不令人满意。因此,有人可以分享他的看法吗?
答案 0 :(得分:4)
我注意到了
.rb
文件中所做的那样。因此,存储配置只通过yaml文件备份要存储的键值对。
答案 1 :(得分:1)
简而言之,为了理智起见,应将数据和代码分开。从功能的角度来看,数据在代码中扮演着不同的角色。因此,我们将数据存储在数据库中,或者将它们序列化为JSON和YAML。
YAML的Config是反序列化。它是人类可读的,无需担心无关的语言问题,如果要从旧的代码库进行迁移,则以文本格式进行配置时会容易得多。由于易读性,YAML在这里超过了JSON。
Rails建立在基于逻辑功能分离层的概念上。像MVC出于同样的原因而设计。如有必要,您将在三个认证层中分开一个认证层。