Question

Je développe le site de partage d'images simple pour former mon rubis sur des rails-fu. Je les ressources suivantes dans mon fichier config/routes.rb.

resources :users do
  resources :images
end

resources :images

Voici le problème que je fais face - comment dois-je aller sur la mise en œuvre des fonctionnalités telles que « dernières images » et « vos abonnements d'image »? Avoir url des ressources de la vanille est ici est à quoi il ressemble maintenant:

/users/N/images # ImagesController#index action for listing all images for a user
/images # ImagesController#index action for listing all possible images from all users.

Comment iriez-vous sur la gestion de l'objet « parent » d'images lors de l'accès action index dans le contrôleur d'images? Would simple vérification pour :user_id dans hash suffisent params? Y a-t-il des plugins que je ne suis pas au courant (puisque je ne pouvais pas penser à une simple description de ce problème).

Était-ce utile?

La solution

J'assignerait un à un autre contrôleur, de sorte que vous ne les mélanger et de vous confondre.

resources :users do
  resources :images, :controller => user_images
end

resources :images

à user_images_controller, vous pouvez envisager d'obtenir l'objet utilisateur par before_filter (car il dépend d'un utilisateur donné: D)

UserImagesController
  before_filter :get_user

  def get_user
    @user = User.find(params[:id])
    // You could also do error checking in before_filters
  end
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top