【问题标题】:Adding tags to posts in Ruby on Rails在 Ruby on Rails 中为帖子添加标签
【发布时间】:2011-01-04 05:48:06
【问题描述】:

我正在使用 Scaffolding 在 Rails 中创建博客。我想在每个帖子上添加一个“标签”字段,比如在 StackOverflow 和 WordPress 上。我可以使用字符串类型(rails generate scaffold post title:string body:text tags:string)然后用逗号分隔,但这不是一个好习惯,因为我希望读者按标签(例如 /tags/web20/tags/lol )浏览。我该怎么做?

【问题讨论】:

  • 我认为你必须制作类似脚手架标签 tagname:string 每个帖子可以有多个标签,每个标签可以有多个帖子。我还没有这样做,但我也有兴趣这样做!

标签: ruby-on-rails model-view-controller post tags blogs


【解决方案1】:

标记是如此普遍,以至于实现成为一种商品。我相信"acts as taggable on" 通常是实现标签的首选方式。

查看其他流行的解决方案here

如果你想自己实现它,你可以深入到源代码中找到一些想法。

【讨论】:

    【解决方案2】:

    我建议创建一个标签模型并使用has_and_belongs_to_many 为帖子分配标签。我不知道脚手架功能是否会帮助您为此创建一个表单,但自己添加它应该不难。我还建议使用 formtastic 插件,因为它可以更轻松、更好地创建表单。

    【讨论】:

      【解决方案3】:

      呃,通常的方式?添加 Tag 实体,在您的 Post 实体中添加 has_many :tags。然后迁移。就这些了。

      【讨论】:

      • 我这样做并迁移了。我对 has_many 和 belongs_to 还很陌生。你能解释一下我如何在我的控制器和视图中实现它吗?谢谢!
      猜你喜欢
      • 2012-01-16
      • 2014-08-19
      • 1970-01-01
      • 2014-08-17
      • 1970-01-01
      • 1970-01-01
      • 2013-03-02
      • 1970-01-01
      • 2012-09-15
      相关资源
      最近更新 更多