J'ai un remote_form qui fonctionne à 100%Rails demande ajax
Lorsqu'un utilisateur clique soumettre, il sort donc grappins données de la db ou les données grattées d'un autre site, et met à jour la page de façon transparente ...
Le problème que j'ai maintenant, c'est que je voudrais faire la même chose, mais faites-le sans que l'utilisateur clique sur le bouton soumettre avec un événement onload. Je pense que je vais dans le mauvais sens:
Techniquement cela fonctionne ... il obtient les bonnes données, mais au lieu de faire exactement ce que remote_form_tag fait, il retourne les données brutes. Pas de RJS replace_html.
Existe-t-il un moyen d'ignorer complètement le formulaire et de simplement exécuter l'action du contrôleur directement lors du chargement de la page?
<script type="text/javascript">
$(window).load(function() {
// executes when HTML-Document is loaded and DOM is ready
// jQuery.facebox('Big loading! <img alt=\"Loading\" src=\"/images/loaders/loading.gif\" />');
//$("#update_form").submit();
$("#update_form").submit(function() { return false; });
});
</script>
Le formulaire de
#html.erb
<% form_remote_tag :url => { :action => "update_availables", :id => params[:id] },
:loading => "jQuery.facebox('Big loading! <img alt=\"Loading\" src=\"/images/loaders/loading.gif\" />');",
:html => { :method => "get" },
:method => "get",
:html => { :id => 'update_form' } do %>
Le contrôleur
def update_availables
@do_it = Available.get_new_availables :id => params[:id], :date => user_cart.getDate.to_s
get_availables
respond_to do |format|
format.html
format.js
end
end
RJS
page.replace_html :rooms, :partial => "available"
page << "jQuery.facebox.close();"
Tout à fait d'accord sur l'évanouissement de l'utilisation de RJS. C'était une idée intelligente, mais je n'ai jamais aimé ça en pratique. Bien sûr, il est maintenant difficile de faire en sorte que les développeurs fassent tout leur JS personnalisé discret ... – tfwright