Rails - has_manyを使用した場合の影響:has_and_belongs_to_many? tag
は、多くのポストに属しているので、私はhas_and_belongs_to_many
を使う理由があるhas_many:through with has_and_belongs_to_many in Rails
class Tag < ActiveRecord::Base
has_many :posts_tag
has_and_belongs_to_many :posts
end
class Post < ActiveRecord::Base
has_many :posts_tag
has_many :tags, :through => posts_tag
end
class PostsTag < ActiveRecord::Base
belongs_to :tag
belongs_to :post
end
:以下に示すように多対多の関係を持って投稿し、タグ - 二つのモデルを持つことを検討してください。
私はRails Association guideを調べて、多対多の関係についてこのケースについて言及していないことを確認します。私は、しかし、これを試してみて、どんな行動が得られなかったのRailsでそれを実行していると私は構築された小規模なテスト・データベースから、またpost.tags
とtag.posts
に対して正しい結果を返すように見えた - post
とtag
はのインスタンスを参照してください。それぞれPost
およびTag
モデル。
この正しい使用法ですか、それとも私が気づいていない副作用がありますか?また、正しい場合は、これを実現するRailsの方法ですか?
ありがとうございます!
はい、私は、あなたが「Railsが英語に完全に合うとは限りません」と言った部分を推測します:P いくつかの一般的な操作が 'has_many:through'と' has_and_belongs_to_many'純粋に教育的観点からは、それに副作用があるかどうかを知ることは面白いだろう。私はそれを使用する正しい方法ではないことを理解しています。 –
アップデートを見てください。 –
ありがとう!それは理にかなっている :) –