如何在 Ruby on Rails 应用程序中的单个单元格记录中保存多个值?
如果我有一个名为Exp
列名为:Education
, Experience
, and Skill
,如果我希望用户在单行中存储多个值(例如:教育机构或技能),最佳实践是什么?
我想让用户使用多个文本字段,但应该进入相同的单元格记录。
例如,如果用户拥有多种技能,这些技能应该在一个单元格中吗?这是最好的还是如果我为技能创建一个新表会更好?
请指教,
Thanks
我不建议在同一数据库列中存储多个值。这会让查询变得非常困难。例如,如果您想要查找具有特定技能集的所有用户,则查询在可读性和性能方面都会很笨拙。
然而,在某些情况下它仍然是有意义的。
- 当您想要允许数据点的可变列表时
- 您不会根据列表中的值之一查询数据
ActiveRecord 对此有内置支持。您可以存储Hash
or Array
在数据库列中。
-
只需将列标记为Text
rails g model Exp experience:text education:text skill:text
-
接下来,序列化您的列Model
code
class Exp < ActiveRecord::Base
serialize :experience, :education, :skill
# other model code
end
-
现在,您只需保存Hash
or Array
在数据库领域!
Exp.new(:skill => ['Cooking', 'Singing', 'Dancing'])
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)