Question

Je ne faisais que jouer avec Rails 3 bêta et remarqué que link_to_function est maintenant disparu. Je présume qu'il ya une autre méthode d'obtenir le même résultat (événement onclick?), Mais je me demandais s'il y a un moyen plus Rails-3'y de le faire. TIA.

Était-ce utile?

La solution

Rails 3 semble avoir fait disparaître Prototype Aide en faveur d'une approche moins de la bibliothèque importune / JS agnostique. Le but est d'éliminer tout en ligne javascript généré par Rails. Prototype Helper généré à peu près tous le javascript.

l'une des variantes non à distance des aides va générer le javascript approprié pour un appel à distance dans votre bibliothèque JS de choix tout en fournissant l':. L'option à distance => true

Malheureusement, cela ne se vérifie pas pour le x de fonctionner méthodes. Pour le moment, il y a les anciens prototypes aides qui ne sont plus une partie essentielle de Rails.

Vous pouvez également utiliser l'appel tel que défini dans ActionView :: :: Helpers :: PrototypeHelper JavascriptGenerator :: GeneratorMethods pour fournir le code javascript à: onclick comme html_option pour link_to, mais ce n'est pas exactement assez

.

Exemples:

Rails < 3                      | Rails 3
link_to_remote "target", url   | link_to "target", url, :remote => true
form_remote_for @post          | form_for @post, :remote => true

etc ....

Ou quelque chose à cet effet. Je vais avoir du mal à trouver des documents officiels pour sauvegarder mes réclamations. Ainsi, la version notes devront faire pour l'instant.

Avant de pouvoir l'utiliser, vous devez inclure les fichiers source appropriés. Assurez-vous que vous chargez prototype.js et rails.js, ou la bibliothèque et pilote pour cadre JS de choix à leur place.

Rappelez-vous, Rails 3 est en version beta maintenant. Mais cela ne veut pas dire qu'il est fait. Je n'ai honnêtement aucune idée comment link_to_function sera remplacé. Il va à l'encontre de l'idéal javascript discret.

Autres conseils

Pour répondre à ma propre question, semble que cela fonctionne et est suffisant pour ce que je dois:

link_to "name", nil, :onlick => "alert('Hello, world!')"

link_to_remote peut se faire comme ceci

  

link_to "cible",: distance => true

et de faire un post ajax / get vous avez

  

link_to "cible", {: controller =>   contrôleur,: action => méthode,}: distance => true

Dans 2 rails, il était comme ça

  

link_to_remote "cible",: url =>   {: Contrôleur => contrôleur,: action =>   Procédé,}: retiré   => True

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