2012-12-19 17 views
8

Il mio modello registrato ActiveAdmin ha un campo booleano "attivo". Voglio includere un'azione batch per "attivare" più record contemporaneamente.Errore modello batch_action ActiveAdmin e nessun aggiornamento

Sto cercando di seguire le istruzioni a:

http://activeadmin.info/docs/9-batch-actions.html

per fare un'azione batch personalizzato e sto avendo due problemi.

ho questo:

ActiveAdmin.register Venue do 

    batch_action :deactivate do |selection| 
    Venue.find(selection).each do |v| 
     v.active = false 
    end 
    end 
end 

Quando provo ad attivare qualcosa ho un modello di errore non trovato. Sta cercando un modello "batch_action". Non ho visto nulla in quel documento sulla necessità di aggiungere anche un modello. Se aggiungo un modello con quel nome, l'errore scompare e visualizza il modello ... ovviamente non è quello che voglio. Voglio solo rivisualizzare l'indice.

In entrambi i casi (con o senza un modello sul posto), il modello non viene aggiornato. Riesco a vedere nel registro dove fa solo una selezione per i record selezionati e non fa nient'altro.

risposta

20

mi sono liberato delle questioni nel modo seguente:

batch_action :activate do |selection| 
    Venue.find(selection).each do |v| 
    v.active = true 
    v.save 
    end 
    redirect_to :back #this ensures any current filter stays active 
end 

'Salva' parte sembra ovvio, ma l'esempio nella documentazione mi ha buttato fuori il mio primo tentativo. Sembra che questo sarebbe un esempio più pertinente per i documenti.

Problemi correlati