我有办法获得我的图片列表,这里有相应的
1/根据参数发送的滤镜获取图片
images/list_filtered?order=<order>&page=<page>&per_page=<count_per_page>&user_id=<user_id>&device_id=<device_id>2/获取user _id的用户关注的人的图片:
images/news_feed?order=<order>&page=<page>&per_page=<count_per_page>&user_id=<user_id>&device_id=<device_id>3/图像内部边界(即地图内部)
images/inside?order=<order>&page=<page>&per_page=<count_per_page>&user_id=<user_id>&device_id=<device_id>&lat1=<lat1>&lng1=<lng1>&lat2=<lat2>&lng2=<lng2>但是如果图像是一种资源(那么list_filtered、news_feed或inside将被视为ID),我们就不能在routes.rb中这样定义它。
因此,我看到了两种解决方案:
1/ 3的自定义路由超出了图像资源,打破了REST方法:
images_list/filtered
images_list/news_feed
images_list/inside2/ filtered、news_feed和inside也是get参数,我使用类似self.send(params[:type])的内容在index操作内部分派
这两种解决方案都很丑陋,想要找到正确的方法,有什么想法吗?
发布于 2011-01-21 00:12:40
假设您也想要所有正常的资源路由:
resources :images do
collection do
get 'filtered'
get 'news_feed'
get 'inside'
end
end然后rake routes将输出:
filtered_images GET /images/filtered(.:format) {:action=>"filtered", :controller=>"images"}
news_feed_images GET /images/news_feed(.:format) {:action=>"news_feed", :controller=>"images"}
inside_images GET /images/inside(.:format) {:action=>"inside", :controller=>"images"}
images GET /images(.:format) {:action=>"index", :controller=>"images"}
POST /images(.:format) {:action=>"create", :controller=>"images"}
new_image GET /images/new(.:format) {:action=>"new", :controller=>"images"}
edit_image GET /images/:id/edit(.:format) {:action=>"edit", :controller=>"images"}
image GET /images/:id(.:format) {:action=>"show", :controller=>"images"}
PUT /images/:id(.:format) {:action=>"update", :controller=>"images"}
DELETE /images/:id(.:format) {:action=>"destroy", :controller=>"images"}http://guides.rubyonrails.org/routing.html#adding-collection-routes
https://stackoverflow.com/questions/4748338
复制相似问题