Ruby on rails 3 路由到服务器上的某个位置
我在rails 3.0应用程序中有几个自定义路由,其中最简单的一个是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.
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