In meiner Anwendung können Benutzer starten und an Diskussionen teilnehmen. Sie können Diskussionen auch taggen; Wenn dies der Fall ist, wird ein Tag erstellt, der den Namen des Tags enthält (falls es ihn noch nicht gab) und ein Tagging, das sich erinnert, welcher Benutzer welche Diskussion mit welchem Tag getaggt hat, wird ebenfalls erstellt.Eine schwierige Situation namens named_scope
So in der Diskussion Modell haben wir diese:
has_many :taggings
has_many :tags, :through => :taggings
Ich versuche, eine einfache Möglichkeit zu schaffen, alle Tags auf einer Diskussion von einem Benutzer abgerufen werden. Im Idealfall würden named_scopes vernünftig verwendet, um die Dinge schön und sauber zu halten. Ich denke, dass es so etwas wie folgt aussehen sollte:
tags = @discussion.tags.from_user(@user)
Schreiben dieses named_scope in der Tag-Klasse erweist sich sehr schwierig. Wie sollte es aussehen? Muss ich es irgendwie mit dem Taggings-Tisch verbinden?