我其实有两个问题。我已经阅读了Rails指南和其他一些文章,但是我一直无法将我所读的内容翻译成工作路线。我有一个应用程序,允许从几个不同的上下文中上传图像。我想的URI来表达正确的上下文,以便下面的URI访问相同的页面:了解轨道中的路线
/images/upload
/photos/upload
在这个例子中,我已经覆盖了new_image_path
使用upload
用于描述的目的。我有覆盖工作,但使用:as
将图像映射到照片只出现一种方式(使用:as => 'photos'
,/images
路由不起作用)。有没有办法让多条路线指向同一个地方?
我也有几种不同的方式来上传图片/照片/等。标准方法,每个表单使用一个图像或批处理方法,用户上传压缩文件并提取压缩文件并保存其每个图像。
看起来像这样做的最有语义的方式是通过向URI添加处理程序组件(例如/images/upload/batch
),但我不知道如何处理此问题。默认的路径路径对于图像只需要的东西来说似乎很普通,但我也不希望对整个位的命名路由如此具体。什么是做这种事的最好方法?
谢谢。
更新:基于jonnii的回答我的第一个问题,我已经添加了以下到我的routes.rb文件:
map.resources :images, :path_names => { :new => 'upload' }
map.resources :photos, :controller => 'Images', :path_names => { :new => 'upload' }
这似乎这样的伎俩让我用/images/
和/photos/
可互换。
眼看'routes.rb'你已经有将帮助诊断。我还建议您在更改时自由使用'rake routes'。 – 2009-09-09 19:07:21