我正在尝试使用每个项目上的integer []类型的字段来开发标记(在标记表中)和项目(在项目表中)之间的多对多关系.
我知道Rails 4(和通过postgres_ext的Rails 3)通过:array =>支持Postgres的数组功能. true参数,但我无法弄清楚如何将它们与Active Record关联结合起来.
has_many有这个选项吗?这有宝石吗?我应该放弃并且只是创建一个has_many:through关系(虽然关系数量我预计这可能是无法管理的)?
你真正需要做的就是
def tags Tag.where(id: tag_ids) end def add_tag(tag) self.tag_ids += [tag.id] unless tag_ids.include?(tag.id) end
至少那是我现在所做的.我用哈希(hstore)和权限做了一些非常酷的东西.处理标记的一种方法是创建has_many,并将标记保留在字符串数组列中,因为它们是为了方便和性能而添加的(不必查询2个相关表只是为了获取名称).我不一定要使用活动记录来对数据库做很酷的事情.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。