Frage

Sie mich zuerst lassen einen Code zeigen.

class User
  has_and_belongs_to_many :roles
  named_scope :employees, { :conditions => ["roles.name = 'Employee'"], :include => :roles }
end

OK, also später in einem Controller wollte ich Recht für alle Mitarbeiter suchen. Ich habe den Namen Umfang aufhelfen zu tun, dass mit dem verbinden und bedingte Suche. Aber das Problem ist in der Ansicht, die ich alle, dass die Benutzer Rollen zeigen will, aber es wird nur die Mitarbeiterrolle angezeigt werden soll.

Gibt es trotzdem, dass ich „user.roles“ sagen kann und haben die faul in der Ansicht geladen, nachdem ich bereits eifrig sie geladen?

War es hilfreich?

Lösung

Die Dokumentation für habtm (sowie has_many ) besagt, dass Sie die Sammlung mit einem optionalen Parameter zugreifen können:

  

Sammlung (force_reload = false)

     

Gibt einen Array aller zugehörigen Objekte. Eine leere Array ist   zurückgegeben, wenn keine gefunden werden.

Sie können die Rollen mit user.roles(true) neu zu laden.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top