link_to syntaxe avec rails3 (link_to_remote) et le code javascript de base ne fonctionne pas dans un rails3 application?
je me demandais si la base de link_to syntaxe est complètement cassé en courant rails3 maître ou si je fais des fautes de syntaxe ici.
= link_to "name", nil, :onlick => "alert('Hello world!');"
devrait vraiment produire un message d'alerte sur cliquez sur. très simple. ne fonctionne pas sur mon rails3 projet! (également aucune erreur de sortie!) des idées?
pour l'ensemble de la link_to syntaxe je ne pouvais pas trouver un exemple où j'ai pu combiner un link_to_remote avec une confirmation, à distance et en classe html (voir mon essayez ci-dessous)
= link_to "delete", {:action => "destroy", :remote => true, :method => :delete, :confirm => "#{a.title} wirklich Löschen?" }, :class => "trash"
même le rails3 api ne m'aide pas ici: http://rails3api.s3.amazonaws.com/index.html
aider!
OriginalL'auteur z3cko | 2010-03-16
Vous devez vous connecter pour publier un commentaire.
Je crois que votre problème ici est que vous avez mis le lien vers le haut pour afficher l'alerte quand il est léché, plutôt que lorsqu'il est cliqué. 😉
Comme pour
link_to_remote
, il a changé avec le passage de javascript discret. Vous pouvez lire à ce sujet ici: http://blog.solnic.eu/2009/09/08/unobtrusive-javascript-helpers-in-rails-3.htmlQue le lien va vers un 404
merci, fixe
OriginalL'auteur mckeed
ok, il ressemble à la nouvelle javascript discret modifications apportées au problème.
voir le post suivant pour plus d'informations ou si vous rencontrez des problèmes similaires
http://blog.loopedstrange.com/modest-rubyist-archive/rails-3-ujs-and-csrf-meta-tags
fixe les choses pour moi.
merci, simianarmy - je viens de mettre à jour le lien vers une version de travail du contenu archivé.
OriginalL'auteur z3cko
nul ne fonctionne pas:
Vous devez utiliser:
OriginalL'auteur netbe
Si aucune des autres réponses ici, le travail pour vous, alors peut-être que cela aidera.
De sorte que le csrf_meta_tag déclaration n'était pas assez pour moi, mais devrait être ajouté dans votre fichier de mise en page pour Rails 3, de toute façon. Avec moi, il s'est avéré être un conflit avec jQuery. Je viens de mettre cela:
après les rails scripts balise dans ma mise en page et à l'affrontement entre Prototype et jQuery a été résolu. Hop j'avais la boîte de dialogue de confirmation sur supprimer.
Cette technique a également permis de résoudre mon problème d'origine lors de l'utilisation de link_to d'essayer et de supprimer un enregistrement. Avec link_to tout détruire commande semblait redirection vers la page show pour l'enregistrement. Donc j'ai déménagé à button_to basée sur une autre solution, j'ai vu, mais sans confirmation. Je me demande si il ya un peu plus profonde avec jQuery et Prototype.
Tout cela s'est passé sur une mise à niveau des Rails 2.3.5 application qui semble correct sans avoir besoin d'inclure ou de Prototype :les valeurs par défaut dans mon fichier de mise en page.
Sur une note de côté, je n'ai suivez ces instructions:
http://webtech.union.rpi.edu/blog/2010/02/21/jquery-and-rails-3/
pour essayer de perdre du Prototype tous ensemble pour ce projet et d'utiliser le jQuery, git sous-module pour Rails 3 à la place. En suivant ces instructions n'ont pas de travail et j'étais toujours sans confirmer les dialogues avec button_to et le spectacle de la page lors de l'utilisation de link_to. Juste pensé que je le mentionne ainsi de sauver quelqu'un la peine de les essayer.
OriginalL'auteur robeastham
Un hors-sujet de commentaires pour la réponse ci-dessus, car je ne peux pas commenter encore 🙁
@robeastham:
J'ai pensé laisser des commentaires qui peuvent aider avec les problèmes que vous avez rencontré.
J'ai eu la "détruire lien redirigeant vers la page show au lieu de la page d'index" problème depuis le passage de ActiveRecord de Mongoid, et n'ai pas trouvé une vraie solution (déjà prototype supprimé). Toutefois, une solution de contournement qui fonctionne correctement est de spécifier explicitement la ré-chemin direct à l'aide de :emplacement pour respond_with:
Comme pour obtenir une confirmation de pop-up avec un bouton, vous pouvez faire:
par exemple
OriginalL'auteur clemensp
Cela a fonctionné pour moi:
<%= link_to "Recommend", recommend_user_path(@user), :remote => true %>
Vérifier que c'est dans vos vues\layout\application.html.erb (ou équivalent):
<%= csrf_meta_tags %>
Noter que les Rails de la v3.2.2 utilise des "tags" pas "tag"
OriginalL'auteur Nigel Sheridan-Smith