2010-10-17 7 views
0

J'ai un modèle User et le modèle Posts. Je veux afficher les messages appartenant à chaque utilisateur,
via une URL disent http://localhost:3000/my_posts/1 « mais Rails est Signaler une erreur en disant
qu'aucune sorties de route correspondant pour
http://localhost:3000/my_posts/1Comment passer les params: id dans l'url explicitement?

Rails regarde l'URL complète. » Http : // localhost: 3000/my_posts/1 "comme une route, mais mon
est comme" http: // localhost: 3000/mes_posts/"devrait être pris comme route url et '1' devrait être prise a les paramètres : id dans ce cas, il représente le User_id
J'ai l'itinéraire correspondant
"/ my_posts" => "user # view_post s ".

L'action view_posts de routine de l'utilisateur fonctionne bien lorsqu'il est déclenché par
"http: // localhost: 3000/utilisateurs/1"
ici prend 1 id params et/utilisateur comme itinéraire.
Et aussi je suis en mesure d'afficher que les messages d'un utilisateur particulier dans la route "/ utilisateur" par
rendant le
<% render « view_posts%>

partiel J'utilise la version Rails 3.

Répondre

2
match "/my_posts/:id", :to => "user#view_posts" 
0
map.connect 'my_posts', :controller => ..., :action => ... 
+0

Salut Nikita J'utilise la version 3 rails et j'ai l'ensemble de l'itinéraire suivant: - Match "/ my_posts" => "utilisateur # view_posts". Mais ma question est comment puis-je passer un identifiant params à l'action de ce contrôleur. – Hemanth

+0

Ce n'est pas le cas. Vous appelez simplement '/ mes_postes? Param1 = 123 & param2 = abc' et _param1_ et _param2_ seront passés dans _params_ hash. Vous ne spécifiez pas _param1_ et _param2_ dans la déclaration de route. –

Questions connexes