Проблема с тем же ресурсом, доступным по двум маршрутам
Я занимаюсь разработкой простого сайта для обмена изображениями, чтобы обучить моего ruby-on-rails-fu. У меня есть следующие ресурсы в моем config/routes.rb
файл.
resources :users do
resources :images
end
resources :images
Вот проблема, с которой я сталкиваюсь - как мне реализовать такие функции, как "последние изображения" и "ваши подписки на изображения"? Вот как выглядит URL ресурса vanilla:
/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.
Как бы вы справились с управлением "родительским" объектом изображений при доступе к индексу в контроллере изображений? Будет просто проверить :user_id
в params
хеш хватит? Есть ли какие-либо плагины, о которых я не знаю (так как я не мог придумать простого описания этой проблемы).
1 ответ
Я бы назначил один на другой контроллер, чтобы вы не перепутали их и не запутали себя.
resources :users do
resources :images, :controller => user_images
end
resources :images
Сейчас в user_images_controller
Вы можете рассмотреть возможность получения объекта пользователя с помощью before_filter (потому что это зависит от данного пользователя:D)
UserImagesController
before_filter :get_user
def get_user
@user = User.find(params[:id])
// You could also do error checking in before_filters
end