0

Ruby on Rails で、最大 5 つのタグなど、タグ付けできる投稿を含むものを作成しています。タグで投稿を索引付けできるようにしたい。

これをモデル化する方法は次のようになります:

Post attributes include:
  tag1
  tag2
  tag3
  tag4
  tag5

そして、タグ付きの投稿を見つけたいときはいつでも、次のようにします:

posts = Post.find_all_by_tag1(name)
posts2 = Post.find_all_by_tag2(name)
posts3 = Post.find_all_by_tag3(name)
posts4 = Post.find_all_by_tag4(name)
posts5 = Post.find_all_by_tag5(name)
posts.concat posts2
posts.concat posts3
posts.concat posts4
posts.concat posts5

これが最善の方法ですか?

4

3 に答える 3

0

1 つのテーブル タグを作成することをお勧めします。属性は name、product_id です。タグが別のクラスで使用できる場合。ポリモーフィックな関連付けを使用してください。属性は name、tagable_id、tagable_type です。

コンセプト ポリモーフィックとサンプルプラクティス ポリモーフィックの詳細

于 2013-06-29T13:59:49.837 に答える