Unterschied zwischen Model.count und Model.count (: all)

8

Gibt es einen Unterschied zwischen

? %Vor%

und

%Vor%

Ich habe Schienen auf 4.0 aktualisiert. Wenn ich ModelName.count(:all) benutze, funktioniert es gut, aber wenn ich ModelName.count benutze, tritt der folgende Fehler auf. Die Art und Weise, wie sie funktionieren, funktioniert in Schienen 3.2

%Vor%     
Johnny Cash 15.08.2013, 12:24
quelle

2 Antworten

4

Ich bin auch auf dieses Problem gestoßen. Die Änderung wurde in diesem Commit eingeführt. Eine Zeile wie

%Vor%

wird jetzt einen Fehler ActiveRecord::StatementInvalid werfen, da SELECT COUNT() FROM users auf Postgres generiert wird. Bei diesem Commit besteht die Lösung darin, Ihren Code auf

zu aktualisieren %Vor%

Bei diesem Commit wird die Funktionalität wiederhergestellt, die zuvor mit :all as bestanden hat die "Spalte", die an ARel übergeben wird und eine gültige SQL-Abfrage SELECT COUNT(*) FROM users verursacht.

Mein Gemfile hatte ursprünglich folgende (wie in den Kommentaren erwähnt)

%Vor%

, aber ich musste bundle update rails ausführen, um das neuere Commit, auf das oben verwiesen wurde, herunterzuziehen.

    
deefour 06.09.2013 16:21
quelle
0

Ich denke, es gibt keinen Unterschied zwischen ihnen

Ссылка Ссылка

  

Wenn keine Parameter zur Zählung übergeben werden, wird eine Zählung aller Zeilen für das Modell zurückgegeben.

    
alex naumov 21.08.2013 09:25
quelle