2008-09-26 8 views
0

J'utilise form_remote_for() pour effectuer une validation sur les données d'un formulaire afin que mon application rails puisse afficher les erreurs de l'utilisateur sans recharger la page. J'ai des problèmes pour rediriger la page s'il n'y a pas d'erreurs. Voici mon code:Comment rediriger une page après une validation réussie avec form_remote_for()?

def create 
    # Validate the data 
    if error_count > 0 
    render :update do |page| 
     page.replace_html(div_id, error_text) 
    end 
    else 
    # Save the data 
    redirect_to(page_to_go_to) 
    end 
end 

Tout dans cette méthode fonctionne bien sauf la redirection. Le serveur prétend qu'il effectue une redirection réussie et je crois que c'est l'appel AJAX qui est en cours de redirection. Ce que je veux arriver, c'est avoir la page qui contient le formulaire à rediriger. Est-ce possible?

Répondre

4

J'ai réfléchi un peu plus à cela et j'ai réalisé que j'avais besoin de la page à rediriger au lieu de la requête que je traitais. J'ai donc essayé ce qui suit et ça marche très bien.

def create 
    # Validate the data 
    if error_count > 0 
    render :update do |page| 
     page.replace_html(div_id, error_text) 
    end 
    else 
    # Save the data 
    render :update do |page| 
     page.redirect_to(page_to_go_to) 
    end 
    end 
end 
Questions connexes