rails que link_to ruby-on-rails ruby-on-rails-3 ruby-on-rails-3.2 ruby-on-rails-4 link-to-function

ruby on rails - que - ¿Estado de la desaprobación link_to_function de Rails?



rails link_to params (2)

Esta es mi solución a este problema:

en javascript:

// define function to be called function awesome_func(a,b,c){ console.log(a,b,c); } //clean implementation of link_to_function $(function(){ $(''[data-on][data-call][data-args]'').each(function(d){ try{ $(this).on( $(this).data(''on''), function(){ window[$(this).data(''call'')].apply(window,$(this).data(''args''))}) }catch(e){ if(typeof(console) != ''undefined'' && typeof(console.log === ''function'')) console.log(e); } }); })

Entonces puedes hacerlo en rieles:

link_to ''Awesome Button'', ''#'', data:{on: :click, call: ''awesome_func'',args: ''[1,"yeah",{b:4}]''

esto parece la forma en que quieren que codifiquemos :), aunque me gustó link_to_function,

¿Cuál es el estado del link_to_function Javascript link_to_function en Rails? Leí, incluso en esta pregunta de stackoverflow , que estaba en desuso en Rails 3.0, luego en desuso y luego en desuso en 3.2.4. ¿Es algo de lo que puedo confiar y enseñar a los estudiantes? Acabo de leer las notas de la versión (de una búsqueda) para Rails 3.2.8 :

Revertió la desaprobación de los ayudantes button_to_function y link_to_function. Rafael mendonça frança

¿Dónde está esto ahora?


link_to_function NO está en desuso en la rama 3-2-stable y no será desaprobado en 3-2-stable en el futuro. Pero ESTÁ depreciado en la rama maestra actual y se desaprobará en Rails 4.0 cuando se lance. Así que supongo que será eliminado del código de rieles en 4.1. Así que puedes enseñar a los alumnos a hacer esto (desde el registro de cambios de los rieles 4):

Recomendamos el uso de JavaScript Unobtrusive en su lugar. Por ejemplo:

link_to "Greeting", "#", class: "nav_link" $(function() { $(''.nav_link'').click(function() { // Some complex code return false; }); });

o

link_to "Greeting", ''#'', onclick: "alert(''Hello world!''); return false", class: "nav_link"