Domanda

In Rails - Qual è l'effetto dell'utilizzo di Has_Many: attraverso con Has_and_belongs_to_many? Prendi in considerazione l'idea di avere due modelli: post e tag che hanno una relazione da molti a molti come indicato di seguito:

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

Il motivo per cui uso has_and_belongs_to_many è perché a tag appartiene a molti post.

Ho esaminato il Guida dell'associazione Rails E vedi che non menzionano questo caso per una relazione da molti a molti. Tuttavia, ho provato questo e gestirlo in binari non ha prodotto alcun comportamento e dal piccolo database di test che ho costruito, sembrava anche restituire i risultati corretti per post.tags e tag.posts - dove post e tag Fare riferimento a un'istanza del Post e Tag modelli rispettivamente.

È un utilizzo corretto o ha effetti collaterali di cui non sono a conoscenza? Inoltre, se è corretto, è questo il modo di Rails per raggiungere questo obiettivo?

Grazie!

Nessuna soluzione corretta

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top