我在 Rails 项目中有一个文件 /public/animals/mammals/pets/d/dog.jpg。因此可以通过 URL 访问它/animals/mammals/pets/d/dog.jpg
。有没有办法让它从较短的 URL 访问,例如/dog-picture
链接到/animals/mammals/pets/d/dog.jpg
?
问问题
238 次
2 回答
1
您不需要在路由中显式使用 :controller 和 :action 符号。您可以将它们作为默认值提供:
match 'photos/:id' => 'photos#show'
通过这条路由,Rails 会将 /photos/12 的传入路径show
与PhotosController
.
您还可以通过为 :defaults 选项提供哈希来定义路由中的其他默认值。这甚至适用于您未指定为动态段的参数。例如:
match 'photos/:id' => 'photos#show', :defaults => { :format => 'jpg' }
Rails 会将 photos/12 与 的 show 动作匹配PhotosController
,并设置params[:format]
为jpg
.
另请参阅: http: //guides.rubyonrails.org/routing.html
于 2012-10-11T04:10:23.293 回答
0
简单的解决方案是制作一个控制器来处理图像请求。然后,您可以将图像移出公用文件夹。
虽然老实说,除了苦行者之外,我不确定有一个长网址真的是一个问题。
于 2012-10-11T04:12:15.320 回答