从ActiveRecord模型引用任意资源

时间:2012-01-25 20:33:52

标签: ruby-on-rails ruby activerecord

我正在Rails中构建一个相当复杂的Web应用程序,并且遇到了一个我怀疑之前遇到过的问题,但我找不到一个普遍认同的解决方案。该问题涉及从单个模型属性/表列引用任意类型(以及任意对应表)的资源。我的用例是一个简单的新闻源,其中Feed项的格式为:

id (int)
tag (string)
message (string)
expiry (date)
resource_id (string)

“resource_id”是对Feed项集中关注的资源的引用。在我的项目中,我现在采用“class_name:id”形式。在获取新闻订阅源项时,我构造了一组与用户拥有的资源相对应的此表单字符串,并在resource_id列上运行“in”类型查询。值得注意的是,应用程序的结构使得用户将仅拥有这些资源中的少量(<10)数量,因此查找效率不是该结构的问题。这只是一个hacky和非常错误的解决方案,我怀疑有一个更正确的方法来做我想做的事。

1 个答案:

答案 0 :(得分:1)

我使用两列:resource_type和resource_id。使连接更加规范化。