6

Puedo redirigir fácilmente, pero me gustaría hacer un render de la página de edición en caso de falla de validación, así que transfiero todos los métodos de validación al formulario. No estoy seguro de cómo renderizar la acción de edición usando active_admin.administrador activo renderizar página de edición

Si intento render :action => 'edit' me sale una plantilla que falta página También probé render active_admin_template('edit.html.arb') que me da una página dentro de una página, pero no hay errores.

¿Alguna 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 

Respuesta

5

¿Has probado esto?

render active_admin_template('edit.html.arb'), :layout => false 
+0

que resuelve el problema de diseño de anidación, pero de todos modos hay para ello para resaltar los campos que falla la validación? En la forma normal editar? Actualmente los paso en un método flash: "{: photos => [" no tiene suficientes entradas "],: blurb => [" Su mensaje debe tener al menos 50 palabras. "]}" – holden

+0

No estoy seguro, lo siento. Pero probablemente también deba resolver esto para mi proyecto actual. –

+1

este método no existe en las versiones más recientes; consulte http://stackoverflow.com/questions/6653093/activeadmin-how-to-render-default-template-in-customized-action/36665082#36665082 para obtener una solución alternativa –

2

Tuve un problema similar, pero estaba anulando el controlador de creación y quería todo el divinidad de administrador activo para mostrar mensajes de error. Así que aquí es lo que hice

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

def create 
//my code here 
end 
end 

Así que, básicamente, he añadido el 'diseño 'active_admin'' línea en mi parte del controlador y el agregado todos mis métodos personalizados. Por lo que el 'my_collection_method' es una acción de colección personalizada en el recurso amdin activo, algo así como

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

Usted podría intentar algo similar

Cuestiones relacionadas