创造性地使用标签
Posted
技术标签:
【中文标题】创造性地使用标签【英文标题】:Using tags creatively 【发布时间】:2012-03-06 15:18:10 【问题描述】:这个问题是关于acts_as_taggable_on,但我相信它通常适用于标记。
是否适合使用标签来存储有关用户活动的一些细节,例如他们的交互历史?
例如:我们的用户最后希望关闭演示面板,因此我们将其存储为名为@987654322@ 的标签,然后在下一页加载时可以轻松搜索。
另一种方法是在每次我们要存储新的交互点时向数据库添加一列。这对我来说似乎有点矫枉过正——笨重,需要大量的工作来实现,而且考虑到前端设计的变化速度有多快,太“固定”了。
您认为进行此操作的最佳方法是什么 - 将标签用于此类“创意”目的是否存在设计缺陷,我没有考虑?
【问题讨论】:
【参考方案1】:从哲学上讲,在这里使用“标签”似乎是错误的——标签是一种使用一个或多个可搜索或可分类术语来索引数据对象的方法。话虽如此,底层技术(一方面是与数据对象的多对多关系,另一方面是原子数据元素)是一种完全可行的方法。从代码可读性的角度来看,我可能会继续创建一个新表 preferences
和一个连接表 user_preference_settings
。
这就像一个关于物理系学生的老笑话,他被问到如何使用气压计得知建筑物的高度。他给出的答案是“把气压计从楼顶上掉下来,计算一下落地需要多长时间。”聪明、有效,但肯定不是别人期望找到的答案。 :)
【讨论】:
以上是关于创造性地使用标签的主要内容,如果未能解决你的问题,请参考以下文章