Ich habe Tabellen - users
und articles
. Es ist eine zu viele Beziehung oder Benutzer kann viele Artikel haben. Was ich will, ist, alle Benutzer aus users
Tabelle mit LIMIT 40
auszuwählen, aber zählen zählen alle Artikel für jeden Benutzer - Eigenschaft für jeden Benutzer hinzufügen count_articles
. Ich versuche auf diese Weise:Attribut zu Rails 5 Modell hinzufügen, das nicht in der Datenbank existiert
def self.get_users(limit, offset)
users = []
order('created_at').limit(limit).offset(offset).each do |user|
user.attributes[:count_articles] = user.articles.count
users << user
byebug
end
users
end
, aber ich bekomme Benutzer ohne dieses Attribut. Wenn ich byebug verwende und die Konsole eintippt - user.count_articles
, kann ich das Ergebnis von count_articles
für den aktuellen Benutzer sehen, aber wenn ich nur user
eintippe, sehe ich alle Attribute ohne count_articles
.
Die Methode 'ActiveRecord :: Base # inspect' in Rails 5.0 enthält nur Spaltennamen. Rails 5.1 enthält virtuelle Attributnamen. –
Haben Sie das gelöst? –