Jquery ajax et Rails 3 - & gt; charger le contenu
Je suis un débutant avec l'ajax. J'ai un curseur et d'un contenu de la div, le curseur a des liens (événements, actualités, etc.), Je veux créer ajax charge le contenu de la div (comme facebook).
J'ai utilisé google, mais je l'ai trouvé très vieux articles (rails 2, mais j'utilise rails3).
Dans Rails 3 tutoriel livre a jquery ajax avec rails3, mais il est très petit.
Je suis à ce stade:
J'ai mon formulaire avec la distance de la balise (:distance => true), et j'ai renommé nouveau.html.haml à _new.html.haml partielle. Je pense que je dois créer un nouveau.js.erb fichier, qui contient:
$(".menuitem").load("<%= escape_javascript(render('article/new')) %>") .content"); //just an idea
Ma logique est la bonne?
Si vous avez un bon tuto ou par exemple sur les rails et ajax, merci de partager avec moi.
Grâce
source d'informationauteur Dodjs
Vous devez vous connecter pour publier un commentaire.
Le plus simple est de charger votre
.content
élémentonclick
à l'aide de jQuery:et de rendre la forme partielle de votre contrôleur:
J'avais reccomand à l'aide de
jquery_ujs
pour gérer cela.Avec Rails 3.1+, il suffit d'ajouter
gem 'jquery-rails'
à votre gemfile et//= require jquery_ujs
dans votreapplication.js
en-tête.Paramétrer vos liens avec
:remote => true
va alors appeler le href utilisant Ajax.De chargement d'un blog dans votre
#content
div vous pouvez ensuite créer un show_post.js.erb afin de rendre votre post (en supposant queshow_post
est l'action que vous utilisez et que vous avez un "_content_post.html.haml" qui affichent le contenu de blog post) :$('#content').html('<%= escape_javascript (render :partial => "content_post") %>')
espérons que cette aide
Vous devez créer un fichier pour créer.js.erb ou créer.js.haml parce que c'est l'action en cours de traitement.
Voici un bon tutoriel:
http://net.tutsplus.com/tutorials/javascript-ajax/using-unobtrusive-javascript-and-ajax-with-rails-3/
Remarque: L'article a une erreur où l'appel à escape_javascript a la S dans le script majuscule.