我正在开发简单的图像共享网站来训练我的ruby-on-rails-fu。我在config/routes.rb
文件中有以下资源。
resources :users do
resources :images
end
resources :images
以下是我面临的问题 - 我应该如何实施“最新图片”和“您的图片订阅”等功能?拥有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
是否足够简单?有没有我不知道的插件(因为我想不出这个问题的简单描述)。
答案 0 :(得分: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