【发布时间】:2014-07-18 04:45:19
【问题描述】:
我正在使用 Ruby on Rails (rails 4) 创建一个类似于 LinkedIn 的 Web 应用程序,并且我正在尝试在 User 表中添加一个“技能”列。每个用户可以有多种技能,我希望能够按技能对用户进行分类。
我可以将“技能”列设为数组类型(准确地说是字符串数组),或者我可以有一个新的技能模型并进行关联(使用 has_many)。哪个更好,或者有更好的解决方案?
谢谢!
【问题讨论】:
-
我建议使用技能模型......它为您提供了轻松整理具有给定技能的所有用户的优势。
-
打字员 == Skill.find_by_name("typing");打字员.用户
-
您使用的是什么数据库系统? Nosql 解决方案很容易支持这一点,否则您可以在 Postgres 等一些数据库系统中存储数组或哈希。虽然我同意@SteveTurczyn 并使用不同的模型
-
也许您可以试试这个:github.com/mbleigh/acts-as-taggable-on 它使用第二种方法(技能模型),但允许您将其用作第一种方法(字符串)
标签: ruby-on-rails ruby-on-rails-4 model-associations