Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/59.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 支持用其他模型标记模型的Rails标记gem?_Ruby On Rails_Gem_Tagging_Acts As Taggable On_Acts As Taggable - Fatal编程技术网

Ruby on rails 支持用其他模型标记模型的Rails标记gem?

Ruby on rails 支持用其他模型标记模型的Rails标记gem?,ruby-on-rails,gem,tagging,acts-as-taggable-on,acts-as-taggable,Ruby On Rails,Gem,Tagging,Acts As Taggable On,Acts As Taggable,大多数Rails标记gem支持使用任意字符串标记对象。(除此之外)我想用其他对象标记一个对象 想象一下,我正在为爱犬者建立一个问答网站:我希望一个人能够问一个问题。然后,用户可以用任意字符串标记该问题(每个标记gem都支持),但如果问题是关于特定的狗品种或狗品种,我希望用户能够另外用狗品种标记该问题。狗的品种是我的web应用程序中的一个模型,有很多元数据和它们自己的关联 我能找到的所有Rails标签宝石都只是将标签当作文字;我想知道是否有一个gem支持标记本身就是对象/模型 我当然知道我可以自己

大多数Rails标记gem支持使用任意字符串标记对象。(除此之外)我想用其他对象标记一个对象

想象一下,我正在为爱犬者建立一个问答网站:我希望一个人能够问一个问题。然后,用户可以用任意字符串标记该问题(每个标记gem都支持),但如果问题是关于特定的狗品种或狗品种,我希望用户能够另外用狗品种标记该问题。狗的品种是我的web应用程序中的一个模型,有很多元数据和它们自己的关联

我能找到的所有Rails标签宝石都只是将标签当作文字;我想知道是否有一个gem支持标记本身就是对象/模型


我当然知道我可以自己写一些有很多关联逻辑的东西,但是很多Rails可标记的gems的优点是,它们附带了大量的方法,可以帮助查询和显示标记数据,非常简单。

我不知道有哪种方法能完全满足您的要求,但是gem上的acts_as_taggable_在不同的上下文中支持标记。也许您可以为犬种创建标记上下文,允许根据您的模型选择犬种,然后使用犬种模型记录的名称或id作为您在犬种上下文中的标记。您可以找到更多信息,但需要在模型中添加类似的内容:

acts_as_taggable #for your normal tags
acts_as_taggable_on :breeds
然后,您可以使用以下方法查找标记有品种的项目:

Question.tagged_with('border collie', :on => :breeds)
我知道这并不完全是你想要的,但是这允许你使用现有gem的find方法,同时仍然允许你按照你描述的方式分割你的标签