需要帮助为Post模型(Rails)创建Tag模型的模型和迁移

时间:2012-03-01 18:44:30

标签: ruby-on-rails

我有一个 Post 模型,我想创建一个标记模型,以便帖子可以有标签(一次多个)。我希望能够搜索帖子的标签和搜索标记为X的帖子。

到目前为止,我已经意识到这是为了使这项工作(如果我错了,请纠正我):

  1. 标记模型只需要:name属性,帖子模型需要:tag_list属性)

    < / LI>
  2. 帖子标记之间必须有has_and_belongs_to_manymany-to-many关联(不确定哪一个)。

  3. 我不知道视图或表格,或者用逗号或空格分隔标签将如何进入属于帖子的单独标签。

    任何建议或见解(如果可能,请附上示例)。

2 个答案:

答案 0 :(得分:1)

一些建议:

  1. 我认为你还需要一个连接表,比如posts_tags或posts_to_tags, 有一个tag_id和一个post_id。
  2. AR文档中多对多和HABTM之间存在a pretty good example差异。在这种情况下,我使用HABTM,因为您的连接表没有任何有意义的特征(不像示例,其中“Assignment”是一流的模型)。
  3. 从逗号分隔的字符串到单独的标签可能应该使用before_save过滤器或其他东西 - 不确定这里有内置行为。
  4. 如果您出于学习目的而不这样做,您还可以查看Ruby Toolbox上列出的标记宝石。

答案 1 :(得分:0)

你可以使用has_many:通过关联。这是适合您情况的最佳解决方案之一。

有关Rails指南的详细教程: http://guides.rubyonrails.org/association_basics.html#the-has_many-through-association

相关问题