2009-09-11 6 views
0

J'ai ma page d'index qui affiche une seule entrée au lieu de la valeur par défaut habituelle d'échafaudage de toutes les entrées. Je lui ai dit de lier à une action et il répond simplement "Impossible de trouver Post avec ID = all". C'est la même chose que la méthode d'index par défaut et la vue d'index. Je suppose que cela a quelque chose à voir avec le routage mais étant non, je n'ai aucune idée. Des idées?Ruby on Rails Actions help

+0

Je pense qu'il serait utile si vous avez posté le code pour l'action (et la vue) en question. –

+0

Je l'ai juste fait fonctionner après un peu de bidouillage. J'ai ajouté map.connect '/ posts/all /',: controller => 'posts',: action => 'all' avant map.resources: posts – deuces

Répondre

0

Le nom "tout" est trompeur. Si vous voulez une page pour afficher tous les messages, la page d'index est parfaite pour cela. Si vous voulez afficher un sous-ensemble des postes alors je recommande d'ajouter une autre action à votre contrôleur avec un meilleur nom et ce dans le fichier routes.rb:

map.resources :posts, :collection => { :some => :get } 

que vous pouvez ensuite faire référence à l'aide some_posts_path ou some_posts_url .

Pour plus d'informations, consultez le Official Ruby on Rails Routing guide.