Ho questo ambito:perché l'utilizzo della somma in un binario di rotaie 3.1 genera un errore?
scope :total_quantity, sum('quantity')
Quando eseguo:
MyModel.total_quantity
ottengo questo errore:
NoMethodError: undefined method `default_scoped?' for 4:Fixnum
L'esecuzione del metodo della somma lavora direttamente
MyModel.sum('quantity') # 4
Non riesco a trovare alcuna documentazione su default_scoped? metodo, o perché viene chiamato qui. Sai se esiste un modo per risolvere questo problema?
I metodi compatibili con lo scope restituiscono un oggetto con scope, non un numero come nel caso di 'sum'. È necessario utilizzare questo approccio con elementi che restituiscono un valore finale che non può essere ulteriormente definito. – tadman
Fantastico, ha funzionato! Grazie. –
Ho anche avuto lo stesso problema in cui ho cercato di trovare il conteggio degli oggetti tramite scope. Ora è chiaro, grazie Tadman – Abhi