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"