だから私はレールを学ぼうとしていますが、まだチートしたくありません。
ポストモデル:
class Post < ActiveRecord::Base
has_many :features
has_many :tags, :through => :features
end
タグモデル:
class Tag < ActiveRecord::Base
has_many :features
has_many :posts, :through => :features
end
結合テーブル:
class Feature < ActiveRecord::Base
belongs_to :tag
belongs_to :post
end
Post.find_by_id(1) << Tag.firstを実行して、投稿をタグに関連付ける方法を既に知っています。
今、特定のタグが付いた投稿の検索に行き詰まっています。「水泳」、「ランニング」、「金儲け」のタグが 1 つ以上含まれているすべての投稿を検索するにはどうすればよいですか。
Post1 には、「サイクリング」、「ロック クライミング」、「水泳」のタグが含まれています。
Post2 includes tags: "カエル", "魚"
Post3 には、「お金を稼ぐ」、「水泳」、「サイクリング」、「愛」のタグが含まれています。
Post4 にはタグが含まれています: "水泳"
ユーザーの興味に最も合致する投稿を最初に表示したい。
例: ユーザーは、この順序で投稿のリストを表示する必要があります.... post3、post1、post4。これが難しすぎる場合は、正確なタグを持つすべての投稿を見つける方法で十分だと思います。