【发布时间】:2011-07-26 11:58:23
【问题描述】:
我想创建一个标签系统,就像在 Stack Overflow 或 Quora 上看到的那样。它将是它自己的模型,我计划使用this autocomplete plugin 来帮助用户找到标签。我有几个问题:
-
我希望标签完全由用户生成。如果用户通过键入新标签并按下“添加”按钮输入新标签,则该标签将添加到数据库中,但如果用户输入现有标签,则使用该标签。我正在考虑使用这样的代码:
def create @video.tags = find_or_create_by_name(@video.tags.name) end我走对了吗?
我想在 Stack Overflow 或 Quora 上实现类似的功能,这样当您单击建议列表中的标签或单击“添加”按钮时,该标签会被添加到带有 ajax 的文本字段的正上方。我将如何实施这样的事情?
我知道这是一个开放式问题。我并不是在寻找确切的代码,而是在寻找正确的方向。当然,代码示例也无妨:)
请注意,我并不是在寻求有关如何设置 jQuery 自动完成插件的帮助...我知道该怎么做。相反,似乎我必须修改插件中的代码,以便将标签添加到文本字段上方,而不是添加到文本字段中。我将不胜感激。
【问题讨论】:
-
我建议包含stemming,以便例如将“游泳”和“游泳”映射到同一个标签。
-
啊,是的,很好。我会调查的。有什么好的开源东西吗?另外,关于控制器应该如何构造的任何其他建议?
-
我没有在 Ruby 中进行任何词干提取,但谷歌搜索“ruby stemmer”提供了一些选项。如果您想了解现有解决方案的工作原理,您可能还想查看“acts_as_taggable”。
-
是的,我之前尝试过acts_as_taggable...看来我必须对它进行大量自定义...
-
@mu 似乎 act_as_taggable_on: github.com/mbleigh/acts-as-taggable-on 允许用户一次输入多个标签,用逗号分隔。我希望用户一次只能添加一个标签。此外,我希望通过字段上方的 ajax 添加标签,而不是普通的 http 请求,以及使用自动完成插件显示标签建议。我有点犹豫是否使用插件。你怎么看?修改标签插件以满足我的需求有多难?
标签: ruby-on-rails ruby ruby-on-rails-3 tagging