rails3 link_to: avec l'attribut?
-
22-09-2019 - |
Question
Je me demande si: avec l'attribut est supprimé de rails3 puisque je ne trouve rien dans le rails3 api - http : //rails3api.s3.amazonaws.com
quelqu'un a un indice ou donner une indication sur la façon d'utiliser le: avec le paramètre pour envoyer des données avec un link_to
exemple non travail:
= link_to "Foo", {:action => "filter", :filter => "filter1",:with => "'test='+$('search').value"}, :remote => true, :class => "trash unselected", :id => "boo"
merci!
La solution
va à l'encontre du point de non-javascript, ce qui est obstrusive pourquoi il a été supprimé. Essayez de regarder le Railscast sur le sujet ici: http://railscasts.com/episodes/205- -javascript discret
Vous devriez essayer une autre façon de le faire.
Autres conseils
Je luttais avec aujourd'hui et après un certain temps je suis venu avec peu pirater rails.js. Dans la méthode handleRemote j'ai changé ceci:
} else {
method = element.attr('data-method');
url = element.attr('href');
data = null;
}
à ceci:
} else {
method = element.attr('data-method');
url = element.attr('href');
data = eval(element.attr('data-with'));
}
Merci de à ce maintenant je peux utiliser link_to: distance comme ceci:
<%= link_to "link", some_path, :remote => true, 'data-with' => "'address=' + $j('#office_address').val();" %>
NOTE: ceci est valable uniquement si vous utilisez jquery, mais il ne devrait pas être difficile d'appliquer ce prototype pour
Il y a bien un moyen de contourner le problème.
Utilisez cette vue comme une ligne directrice:
link_to "Foo", {:action => "filter", :filter => "filter1"}, {:remote => true, :class => "trash unselected", :id => "boo", 'data-with' => "'&test='+$('search').value"}
(propose: avec la seconde partie et en a fait des « données avec »)
et l'ajouter au fond:
<script type="text/javascript" charset="utf-8">
$$('a[data-remote=true]').each(function(a){
a.onclick = function(){a.setAttribute('href', a.getAttribute('href') + eval(a.getAttribute('data-with')))};
});
</script>
Bien sûr, vous aurez besoin d'avoir un prototype chargé (est dans les javascripts par défaut d'une application rails)
Pour quelque chose de mieux que celui-liner: http://gist.github.com/451508
En utilisant l'essence que vous n'avez pas besoin de commencer: avec ou avec et