2010-06-10 6 views
0

J'ai deux classes et je veux établir un grand nombre à plusieurs assications, est le code ici:établissement de nombreux à plusieurs associations Ruby on Rails

class Category < ActiveRecord::Base 
    has_and_belongs_to_many :events 
    has_and_belongs_to_many :tips 
end 

class Tip < ActiveRecord::Base 
    has_and_belongs_to_many :categories 

Cependant, je continué à obtenir ce qui suit erreurs et je vous serais reconnaissant si quelqu'un pouvait me renseigner ce qui va mal:

PGError: ERROR: relation "categories_tips" does not exist 
: SELECT "categories".id FROM "categories" INNER JOIN "categories_tips" ON "categories".id = "categories_tips".category_id WHERE ("categories_tips".tip_id = NULL) 

the viewer part: 
4: <%= text_field :tip, :title %></label></p> 
5: 
6: <p><label>Categories<br/> 
7: <%= select_tag('categories[]', options_for_select(Category.find(:all).collect {|c| [c.name, c.id] }, @tip.category_ids), :multiple => true) %></label></p> 
8: 
9: <p><label>Location<br/> 
10: <%= text_field_with_auto_complete :tip, :abstract %></label></p> 

Répondre

1

De l'documentation:

Pour la deuxième façon, utilisez has_and_belongs_to_many dans les deux modèles. Cela nécessite une table de jointure qui n'a aucun modèle ou clé primaire correspondant.

Vous manquez ce tableau.

+0

oui ... merci beaucoup! – john