2010-11-16 3 views
0

j'ai les photos de ressourcesRails 3, aider à la mise en place d'une configuration pour un contrôleur

Actuellement, j'ai ce travail:/photos

qui montre les photos # contrôleur d'index qui est ce que je veux .. .

Mais maintenant, je veux aussi/projets/2/Photos

qui devrait montrer des photos pour ce projet. Le problème est que cela pointe vers l'index de def, et d'une manière ou d'une autre j'ai besoin d'une vue séparée pour ce chemin.

Pensées? Merci

itinéraires:

resources :projects do 
    resources :photos,do 
    collection do 
    get 'newjs' 
    end 
end 

Répondre

1

Dans l'action PhotosController#index vous pouvez vérifier si params[:project_id] est défini - si elle est alors vous utilisez la sous-ressource. Si ce n'est pas le cas, vous utilisez la ressource de niveau supérieur.

+0

Merci ben mais - Ça a l'air vraiment en désordre, non? avoir une grosse instruction if pour des vues totalement différentes dans l'index def #? – AnApprentice

+1

Deux vues différentes? Ou deux ensembles différents de logique de contrôleur? Si la logique du contrôleur est vraiment différente, il y a probablement quelque chose qui ne va pas avec la structure de votre code - soit vous devriez refactoriser une partie de ce code en modèles, soit vous ne devriez pas essayer de laisser une ressource agir à la fois ressource de premier niveau et une sous-ressource. Si vous voulez traiter une ressource de cette façon, je crois que la vérification de params [: project_id] est cette façon idiomatique et correcte de le faire. Peut-être que si vous développez un peu plus sur les détails, je peux donner une meilleure réponse. –

+0

oh, aussi, j'ai besoin de différentes pages de vue, quelque chose comme project_photos_index, puisque les mises en page sont très différentes. Pensées? – AnApprentice

Questions connexes