6

Posso facilmente reindirizzare, ma mi piacerebbe fare un rendering della pagina di modifica sull'errore di convalida, quindi porto tutti i metodi di convalida nel modulo. Non sono sicuro di come eseguire il rendering dell'azione utilizzando active_admin.active admin render edit page

Se provo render :action => 'edit' Mi manca un modello pagina Ho anche provato render active_admin_template('edit.html.arb') che mi dà una pagina all'interno di una pagina, ma nessun errore.

Qualche idea?

member_action :state do 
    space = Space.find(params[:id]) 
    if space.send(params[:state]) 
     #space.send(params[:state]+"!") 
     flash[:notice] = "State Changed!" 
     redirect_to :action => :index 
    else 
     #render :action => 'edit' 
     #render active_admin_template('edit.html.arb') 
     flash[:error] = "#{space.errors}" 
     redirect_to :action => :edit 
    end 
    end 

risposta

5

Hai provato questo?

+0

che risolve il problema di layout di nidificazione, ma c'è comunque per poter evidenziare i campi che falliscono la validazione? Nel modo normale la modifica sarebbe? Attualmente sto passando loro in un metodo flash: "{: photos => [" non ha abbastanza voci "],: blurb => [" Il tuo messaggio deve essere di almeno 50 parole. "]}" – holden

+0

Non sicuro, scusa. Ma probabilmente dovrò risolvere anche questo per il mio progetto attuale. –

+1

questo metodo non esiste nelle versioni più recenti - consultare http://stackoverflow.com/questions/6653093/activeadmin-how-to-render-default-template-in-customized-action/36665082#36665082 per una soluzione alternativa –

2

Ho avuto un problema simile, ma stavo ignorando il controller di creazione e volevo tutto il godness amministratore attivo per il rendering di messaggi di errore. Così qui è quello che ho fatto

controller do 
layout 'active_admin', :only => [:create,:my_collection_method,:my_member_method] 

def create 
//my code here 
end 
end 

Quindi, in pratica, ho aggiunto la linea 'layout 'active_admin'' nella mia parte del controller e aggiunto tutti i miei metodi personalizzati. Così il 'my_collection_method' è un'azione raccolta personalizzata nella risorsa amdin attiva, qualcosa come

:my_collection_action, :method=>:get do 
//my code here 
end 

Si potrebbe provare qualcosa di simile

Problemi correlati