|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Candidat au titre de Membre du Club
![]() Olivier Margarit Inscription : février 2010 Messages : 36 ![]() |
Bonjour,
J'ai mélangé mon code ruby à une bibliothèque javascript pour me faire un bel album photo. Alors en amont tout se passe bien mais pour l'agrandissement d'une image, je suis obligé de passer par une requête de type GET. J'aimerais que le Controller, qui affiche l'album récupère cette requête parce qu'il doit effectuer un traitement avant l'affichage sur la même vue. Pour l'affichage je règle le problème avec une solution de type flash.now. Pour récupérer ma requête je pense à un code du genre: Code :
No route matches "/album/photo/IMG012.jpg" with {:method=>:get} Or je voudrais non seulement que ma page ne se recharge pas mais également pouvoir traiter la requête. Je sais qu'il faut que je paramètre route.rb mais je commence à tourner en rond. Je précise que mon controller se nomme album et l'action photo. Les solutions du type link_to ou <a href=....></a> ne fonctionne pas et font planter le script java que je renonce a réécrire vu qu'il n'est pas de moi. Merci de vous intéresser a mon problème. Cordialement, Olivier |
||
|
|
00
|
|
|
#2 | ||
|
Candidat au titre de Membre du Club
![]() Olivier Margarit Inscription : février 2010 Messages : 36 ![]() |
Bon, j'ai trouvé la solution: laisser tomber le get pour un post et le résultat de la fonction javascript se gère donc comme un formulaire! A noter que ça ne passe pas si dans la classe on ne met pas:
Code :
protect_from_forgery :only => [:create, :update, :destroy] Je suis sympa je donne le code javascript, ça pourra peut-être aider qelqu'un: Code :
|
||
|
|
00
|
|
|
#3 |
![]() ![]() Inscription : janvier 2007 Messages : 511 ![]() |
Bonjour,
Je me permets d'intervenir pour faire quelques remarques négatives sur ta solution. En modifiant les routes, tu perds le côté Restful de ton appli, c'est dommage. En modifiant le protect_from_forgery, tu ouvres un beau trou de sécurité. Ton javascript obstrusif à mort n'est pas du tout conseillé. En résumé, on est loin des bonnes pratiques. Pour faire ce que tu cherches à faire : "Afficher une photo sans recharger la page" tu peux le faire avec Ajax (:remote => true). Tu peux utiliser la même méthode "show" en spécifiant dans ton contrôleur le format de sortie (html ou js) selon le cas. Pour les traitements, je te conseille de les faire AVANT (Préparer 2 ou 3 photos de taille différente, prêtes à être affichées, et ne pas solliciter le serveur, lorsque l'appli est déployée) Tu peux t'inspirer de cette solution par exemple : http://rhotoalbum.rubyforge.org/ |
|
|
10
|
|
|
#4 |
|
Candidat au titre de Membre du Club
![]() Olivier Margarit Inscription : février 2010 Messages : 36 ![]() |
Merci pour la remarque, je vais regarder tout ça de près. Sinon, l'appli n'est pas destinée à une usage massif mais pour moi et ma copine. Cela dit, merci.
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com