Ho un metodo di classe in cui desidero modificare i record attualmente catturati da un oggetto ActiveRecord::Relation
. Ma non so come fare riferimento allo scope corrente in un metodo di classe. self
non lo fa.Specificare i record attualmente acquisiti all'interno del metodo della classe Model
Esempio:
class User < ActiveRecord::Base
...
def self.modify_those_records
#thought implicitly #to_a would be called on currently grabbed records but doesn't work
temp_users_to_a = to_a
...
end
end
vorrei utilizzare in questo modo:
User.some_scope.modify_those_records
Così User.some_scope
sarebbe tornare a me un ActiveRecord::Relation
che contiene una serie di User
record. Quindi voglio modificare quei record all'interno di quel metodo di classe e quindi restituirli.
Il problema è: non so come fare esplicitamente riferimento a "quel gruppo di record" all'interno di un metodo di classe.
Provare a usare 'current_scope.to_a' – MrYoshiji
Cosa intendi con" afferrato "? –
@MrYoshiji Eccellente! Grazie. Fornisci una risposta in modo che io possa darti credito. – Neil