J'étais juste en train de jouer avec Rails 3 beta et j'ai remarqué que link_to_function est maintenant parti. Je présume qu'il existe une autre méthode pour atteindre le même résultat (événement onclick?) Mais je me demandais s'il y avait une façon plus Rails-3'y de le faire. TIA.Où est-ce que link_to_function a disparu dans Rails 3?
Répondre
Rails 3 semble avoir éliminé Prototype Helper en faveur d'une approche agnostique moins gênante/bibliothèque JS. L'objectif est d'éliminer tout javascript en ligne généré par Rails. Prototype Helper a généré à peu près tout le javascript.
Maintenant, l'une des variantes non auxiliaires d'aides générera le javascript approprié pour un appel distant dans votre bibliothèque JS de choix en fournissant simplement l'option: remote => true.
Malheureusement cela ne vaut pas pour les méthodes de fonction x. Pour le moment, il y a les prototype legacy helpers qui ne font plus partie de Rails.
Vous pouvez également utiliser call comme défini dans ActionView :: Helpers :: PrototypeHelper :: JavascriptGenerator :: GeneratorMethods pour fournir le code javascript à: onclick en tant qu'option html pour link_to, mais ce n'est pas vraiment joli.
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. J'ai de la difficulté à trouver des documents officiels pour appuyer mes demandes. Donc, le release notes devra faire pour l'instant.
Avant de pouvoir l'utiliser, vous devez inclure les fichiers source js appropriés. Assurez-vous de charger à la place prototype.js et rails.js, ou la bibliothèque et le pilote du framework JS de votre choix.
Rappelez-vous, Rails 3 est en version bêta maintenant. Mais cela ne veut pas dire que c'est fait. Honnêtement, je n'ai aucune idée de la façon dont link_to_function sera remplacé. Cela va à l'encontre de l'idéal du JavaScript non intrusif.
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!')"
le problème avec cette solution est totalement intrusif. Je vous recommande de jouer avec jquery ou prototype + low pro. –
Je ne pense pas que ce soit "totalement" envahissant, tant que vous appelez simplement un gestionnaire de onclick = "" au lieu de l'implémenter là. L'ensemble de l'UJS n'est pas encore mature et même ses créateurs ne sont pas d'accord sur ce qui est recommandé (voir http://weblog.jamisbuck.org/2010/3/2/unobtrusive-yet-explicit incluant les commentaires). – Matt
link_to_remote peut se faire comme ça
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 rails 2, il était comme cet objectif
link_to_remote » »: url => {: controller => contrôleur,: action => méthode ,},: distance => true
- 1. Rails 3 où requête
- 2. gdb Scripting python: où `parse_and_eval` a-t-il disparu?
- 3. Mscorcfg.msc a disparu!
- 4. Où mon service d'état ASP.NET a-t-il disparu?
- 5. serveur MySQL a disparu
- 6. page.insert_html n'insère pas html avec link_to_function (rails)
- 7. Rails 2 à Rails 3, vérification de la méthode dans les contrôleurs disparu?
- 8. pydev a disparu quand éclipse
- 9. Où est situé asset_host rails 3?
- 10. $ _Server ['REQUEST_URI'] semble avoir disparu ... où?
- 11. UIImage Picker autorotation a disparu soudainement
- 12. erreur MySQL ODBC « serveur a disparu »
- 13. Où placer le chemin Ruby et gems dans Rails 3
- 14. sql server 2008: table sp_rename a disparu
- 15. où placer des règles de format d'heure dans Rails 3?
- 16. Rails partiel obtient double échappé lors de l'utilisation link_to_function
- 17. évasion javascript ne fonctionne pas avec link_to_function (rails)
- 18. observe_field dans Rails 3
- 19. Formulaire à distance avec A tag soumettre dans Rails 3
- 20. intellisense a disparu dans l'éclipse, comment le récupérer
- 21. tag ERB dans les link_to_function JavaScript appel
- 22. SqlSessionStore dans Rails 3
- 23. Rails 3 en tant que middleware Rack
- 24. URLs dans Rails 3
- 25. Feedzirra dans Rails 3
- 26. "Mon" espace de noms a disparu, et autre bizarrerie
- 27. Rails 3 - Helper, où sont-ils supposés être utilisés?
- 28. Rails 3 'où' sans conditions ou 'all' loading
- 29. HTML dans Rails 3 échappé
- 30. Supprimer ActiveRecord dans Rails 3
Pour toute personne qui trouve cela par Google, il convient de noter que link_to_function est à la fois à Rai ls 3 et NON déprécié. Voir https: // github.com/rails/rails/commit/d69e561 Ou la réponse ici: http://stackoverflow.com/questions/5063246/rails-3-status-of-link-to-function-method – noel