2017-01-24 2 views
1

Ich habe 3 Modelle: Filme, movie_tags und movie_tag_countsAktualisierung/Löschen JoinTable Datensätze mit Active

Es ist ein klassisches viele durch Beziehung hat. Mein Anwendungsfall ist, dass jeder Film mehrere Tags haben kann und der Nutzer über bereits hinzugefügte Tags abstimmen kann.

Mein Problem ist, dass ich nicht ein bestehendes Objekt scheint in movie_tag_counts zu aktualisieren

movie_tag_count = MovieTagCount.first 
movie_tag_count.count += 1 
movie_tag_count.save 

das Ergebnis wird diese Fehlermeldung

TypeError: nil is not a symbol nor a string

Meine beste Vermutung ist, dass der Grund dafür ist, dass movie_tag_counts Die Tabelle hat keine ID-Spalte, aber ich habe immer noch keine Ahnung, wie ich sie beheben kann.

Meine aktuelle Problemumgehung ist eine SQL-Anweisung

Antwort

0

Es stellte sich heraus direkt meine Vermutung richtig war auszuführen, Active eine ID-Spalte erwartet, habe ich es wie dieses

add_column :movie_tag_counts, :id, :primary_key 

und alles funktionierte perfekt. Ich bin sicher, es gibt einen Weg, es ohne die ID-Spalte zu tun, indem Sie einige AR-Methoden überschreiben, aber ich denke, dass eine andere Spalte nicht so weh tun wird

Verwandte Themen