Question

J'ai une application pour rails qui a pris un peu de force, mais j'ai un grave mal de tête à gérer. Il s’agit d’une sorte d’application de gestion d’actifs de base: les utilisateurs téléchargent leurs photos, fichiers .pdfs, vidéos, etc., et le système leur permet de gérer la présentation de cet actif.

J'ai commencé avec une vue des rails assez standard - juste ce qui est généré par les rails - pour index.html.erb. J'ai un partiel qui rend une vignette pour chacun des actifs et quelque chose comme ceci:

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

Ce que je veux, c'est que la vignette soit cliquable (assez facile), mais lorsque l'utilisateur clique sur ce bouton, le contenu de la div sera rempli avec, eh bien, essentiellement le fichier edit.html.erb, mais j'imagine il faut que ce soit partiel. J'ai déjà réussi à le faire en javascript.

J'ai accès à la version pré-publication du nouveau livre "Développement agile sur Rails", que tout le monde peut consulter, mais le chapitre consacré à AJAX est très minime et suppose plus d'expérience que moi dans ces domaines. , ceci étant ma première incursion dans le javascript et les rails.

UPDATE: En réponse à la question "Quelle est la question" 'répondre', même si je pensais que c'était assez clair:

Que dois-je mettre dans le partiel de la vignette pour en provoquer un clic et charger le formulaire de modification dans le div?

Était-ce utile?

La solution

vous devez utiliser link_to_remote:

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

et dans le contrôleur, vous devriez avoir cette action:

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

assurez-vous que votre partiel s'appelle '_edit.html.erb'

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top