2010-11-20 5 views
3

Dans Rails 2, j'ai utilisé ce type de code pour mettre à jour une partie de la page.Comment obtenir le: remote => true pour mettre à jour une partie de la page?

<div id="sidebar_div" class="span-3"> 
    <ul class="sidebar_list"> 
    <% for page in @section.pages %> 
    <li><%= link_to_remote "#{page.name}", :update=>'show_page', :url => { :controller=>'pages',:action=>'show_page', :id=>page.id }, :html=>{} %></li> 
    <hr/> 
    <% end %> 
    </ul> 
</div> 

<div id='show_page' class='span-18 last vert_divider'> 
    <%= render :partial => 'pages/show', :locals => { :page=>@page } %> 
</div> 

Dans les pages du contrôleur, j'avais une méthode show_page qui restituait le partiel.

Dans Rails 3, JE NE SAIS PAS COMMENT ACCOMPLIR CECI. Je veux utiliser jQuery, que je sais déjà coder, mais je ne sais pas comment le faire fonctionner de cette façon. Dois-je créer un fichier js.erb à mon avis? J'ai regardé le http://railscasts.com/episodes/205-unobtrusive-javascript mais je ne sais toujours pas comment le faire fonctionner pour mettre à jour une partie de la page! Fondamentalement, j'ai cette barre latérale avec des liens sur elle, et chaque fois qu'un utilisateur clique sur l'un d'eux, la partie centrale de la page devrait mettre à jour - AJAX! Comment puis-je faire cela? Ai-je besoin de cette méthode show_page dans le contrôleur?

+1

Veuillez corriger votre code, c'est difficile à lire. –

Répondre

2

Tous les link_to_remote aides ont été retirés de Rails 3. Au lieu de cela vous l'appelez comme ceci:

link_to "#{page_name}", :remote => true #ect 

Voir this lien pour plus d'informations sur les modifications aux aides d'URL dans Rails 3.

Questions connexes