Ruby on rails 3 路由到服务器上的某个位置

Ruby on rails 3 路由到服务器上的某个位置,ruby-on-rails-3,routing,Ruby On Rails 3,Routing,我在rails 3.0应用程序中有几个自定义路由,其中最简单的一个是 match "*user", "profile#index", :via => :get 由于该路由,服务器上的物理位置将被终止。举个例子 /images/rails.png 尝试路由到用户图像 我还必须能够设置人们访问的位置 /<username>/archive.zip 其中,archive.zip是服务器上已生成并放在其中的物理文件。如何在我的路线中实现这一点 对于后者,我在//archive.

我在rails 3.0应用程序中有几个自定义路由,其中最简单的一个是

match "*user", "profile#index", :via => :get
由于该路由,服务器上的物理位置将被终止。举个例子

/images/rails.png 
尝试路由到用户图像

我还必须能够设置人们访问的位置

/<username>/archive.zip
其中,archive.zip是服务器上已生成并放在其中的物理文件。如何在我的路线中实现这一点

对于后者,我在
//archive.zip
的根文件夹中有一个实际的文件夹结构,因此我认为某种符号链接会很容易,但不会影响服务器上的物理位置。我有点困惑


非常感谢您的帮助。

您可能希望在使用rails堆栈之前,让web服务器处理任何静态资产。这通常是通过将Web服务器中的文档根目录设置为rails应用程序中的public/directory来实现的,以便为静态图像/css/js提供服务


这比允许Rails为静态资产提供服务更受欢迎,因为web服务器处理此类请求的速度要快得多,而且您不必为这些请求占用Rails进程,这些请求通常被限制在少数几个请求中。

这就是我的服务器设置方式,但是使用webrick进行开发工作,我不确定它是如何处理的。好的,我有更多的信息。我已经设置了一个测试服务器并部署了我所拥有的。我将乘客设置为像平常一样公开,仍然有相同的问题。标记为答案,因为我意识到当我将图像复制到文件夹时,它实际上并没有复制图像。我把它移到了images文件夹中,所有的工作都很好,因此有一天的工作要做。更改rails是否从public服务静态资产的设置是serve_static_assets,您应该在config/environments/product.rb中看到它,它应该设置为false。在开发模式下,webrick可以为这些资产提供服务,而不需要Web服务器。
/buddy/archive.zip