大多数Rails标记gem支持用任意字符串标记对象。(除此之外)我想用其他对象标记一个对象。
想象我正在为爱狗人士建立一个Q& a网站:我希望一个人能够问一个问题。然后这个人可以用任意字符串标记这个问题(每个标记宝石都支持),但是如果这个问题是关于一个特定的狗品种或狗品种,我希望用户能够另外用狗品种标记这个问题。在我的web应用程序中,狗的品种是一个模型,有很多它们自己的元数据和关联。
我所能找到的所有Rails标签宝石都简单地将标签视为单词;我想知道是否有一个gem支持标签作为对象/模型本身。
我当然知道我可以通过编写一些has_many关联逻辑来滚动我自己的,但是很多Rails可标记宝石的好处是它们提供了大量的方法来帮助查询和显示标记数据非常容易
我不知道任何做什么你正在问,但acts_as_taggable_on gem确实支持标签在不同的上下文中。也许您可以为狗的品种创建一个标记上下文,允许根据您的模型选择品种,然后使用品种模型记录的名称或id作为品种上下文中的标记。您可以在这里找到更多信息,但您可以在模型中添加如下内容:
acts_as_taggable #for your normal tags
acts_as_taggable_on :breeds
然后你可以使用:
找到标记有品种的物品Question.tagged_with('border collie', :on => :breeds)
我知道这不是你想要的,但是这允许你使用现有gem的find方法,同时仍然允许你按照你描述的方式分割你的标签。