Pregunta

Tengo una aplicación de rieles que ha adquirido un poco de tracción, pero tengo que lidiar con un fuerte dolor de cabeza. Es un tipo básico de aplicación de administración de activos: los usuarios cargan sus fotos, .pdfs, videos, etc., y el sistema les permite administrar cómo se presenta ese activo.

Comencé con una vista de rieles bastante estándar, justo lo que se genera por los rieles, para index.html.erb. Tengo un parcial que muestra una miniatura para cada uno de los activos y algo así:

<div id="preview">  </div>

Lo que quiero es que se pueda hacer clic en la miniatura (lo suficientemente fácil), pero cuando el usuario presiona ese botón, el contenido del div se llenará, bueno, esencialmente con el edit.html.erb, pero supongo Debe hacerse como parcial. Ya lo he logrado con javascript directo.

Tengo acceso a la versión previa a la publicación del nuevo libro 'Agile Development on Rails', que cualquiera puede obtener a través del editor, pero el capítulo sobre AJAX es muy mínimo y supone más experiencia con estas cosas que yo. , siendo esta mi primera incursión en javascript y rieles.

ACTUALIZACIÓN: En respuesta a "cuál es la pregunta" 'respuesta', aunque pensé que estaba bastante claro:

¿Qué necesito colocar en el parcial de la miniatura para que un clic haga que se cargue el formulario de edición en el div?

¿Fue útil?

Solución

necesitas usar link_to_remote:

<%=    link_to_remote image_tag('whatever.jpg'), 
       {:controller => 'something', :action => 'replace_thumbnail', :id => @thumbnail.id}, 
       :update => 'preview' %>

y en el controlador debes tener esta acción:

def replace_thumbnail
  image = Image.find(params[:id])
  render :partial => 'edit', :object => image, :layout => false
end

asegúrese de que su parcial se llame '_edit.html.erb'

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top