2011-07-08 4 views
1

Je construis un blog et je suis un débutant Rails. Le doute est sur la façon d'établir l'association entre ces modèles trop: postes et langues.Quelle est la bonne association entre ces deux modèles?

Il n'y aura que deux langues, et chaque message ne fera que (appartenir à/a) une langue. Je pensais que la bonne chose serait:

class Post < ActiveRecord::Base 
    belongs_to :language 
end 

class Language < ActiveRecord::Base 
    has_many :posts 
end 

Est-ce la bonne approche? Parce que cela semble plus naturel de penser qu'un poste n'a pas de langue et qu'une langue appartient à de nombreux messages, mais ce type d'association n'est pas possible dans les rails, ai-je tort?

Désolé pour une question de débutant. Merci d'avance.

Répondre

1

Vous avez raison. Si vous avez deux modèles dans une relation plusieurs-à-un, votre seule option est de mettre has_many sur le modèle "one" et belongs_to sur le modèle "many". Donc, dans votre cas, vous voulez vraiment l'extrait que vous avez fourni.

Rappelez-vous que cela signifie votre table posts transportera une colonne language_id (qui se sent à droite), et que votre code fera référence à post.language et language.posts.

Questions connexes