代码之家  ›  专栏  ›  技术社区  ›  Eimantas

同一资源的问题,可通过两条路径访问

  •  0
  • Eimantas  · 技术社区  · 15 年前

    我正在开发一个简单的图片分享网站来训练我的ruby on rails功能。我有以下资源 config/routes.rb

    resources :users do
      resources :images
    end
    
    resources :images
    

    这就是我面临的问题——我应该如何实现“最新图片”和“您的图片订阅”这样的功能?vanilla资源url现在是这样的:

    /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 回复  |  直到 15 年前
        1
  •  1
  •   PeterWong    15 年前

    我会把一个分配给另一个控制器,这样你就不会把它们弄混,把自己弄糊涂了。

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

    现在在 user_images_controller ,您可以考虑在筛选之前获取用户对象(因为它取决于给定的用户:D)

    UserImagesController
      before_filter :get_user
    
      def get_user
        @user = User.find(params[:id])
        // You could also do error checking in before_filters
      end