Antoine a écrit :
> Mais dans mes actions compliquées, je ne peux pas utiliser les actions
> REST car je ne peux pas appeler une action depuis une autre action ?
>   
Moi je pense que tu peux. Comme dit Patrick Aljord, l'important pour 
être Rest c'est l'url qui va permettre d'arriver à la méthode de ton 
controlleur, ainsi que le verbe HTTP associé. une fois que t'est dans la 
méthode tu fait ce que tu veux, même appeler une autre méthode du même 
controlleur.
Par contre pour appeler une méthode d'un autre controlleur, je vois pas 
d'autre solution que redirect_to, mais je suis novice donc je me trompe 
peut-être.
Si c'est juste pour afficher un contenu ou partiel, là tu peux le faire 
avec render sans problème.

Je ne sais pas si ton problème n'est pas en fait celui des routes 
imbriquées.
Pour ton cas dans configuration/routes.rb, il faudrait écrire
map.resources users do |user|
    user.resources messages
end

Si tu n'es pas déjà sur 2.0, sinon tu as une syntaxe avec :has_many.
Ca te génère les routes qui vont bien, et puis aussi des helpers très 
pratique, genre
users_path, user_path(@user), edit_user_path(@user), new_user_path(@user).
et les même en remplaçant path par url (dans ce cas tu as l'url complète 
et non juste le chemin depuis la racine de l'appli).

Pour tester tes routes si t'es pas déjà sous rails 2.0:
script/console
rs=ActionController::Routing::Routes
puts rs.routes

Je ne sais pas si tu connais BEAST, mais ce forum open source en rails 
est une très bonne source d'inspiration.
Donc tu peux le télécharger et le décortiquer, à loisir en le comparant 
à tes besoins. Il ne fait pas plus de 500 lignes, et on y trouve des 
forums, des topics, des utilisateurs, des modérateurs, des admins et des 
messages. Tout ça en restful.
Donc à exporter sur ta machine via svn:
http://svn.techno-weenie.net/projects/beast/
> Je vous remercie par avance de votre retour d'expérience sur ce genre
> de cas banal dès qu'on sort de l'exemple classique ;-)
>
> Antoine
> >
>
>
>   


--~--~---------~--~----~------------~-------~--~----~
Vous avez reçu ce message, car vous êtes abonné au groupe "Railsfrance" de 
Google Groups.
Pour transmettre des messages à ce groupe, envoyez un e-mail à l'adresse 
[email protected]
Pour résilier votre abonnement envoyez un e-mail à l'adresse [EMAIL PROTECTED]
-~----------~----~----~----~------~----~------~--~---

Répondre à