Ruby on rails 2 在Rails 2 ERB视图中为/public中的文件生成URL

Ruby on rails 2 在Rails 2 ERB视图中为/public中的文件生成URL,ruby-on-rails-2,Ruby On Rails 2,在我的rails(v2.3.8)应用程序中,我有一个静态资源文件,放在/public/myfile.kml,不需要任何特殊的routes.rb设置,对吗 一点也不错 当我(对乘客)展开时,它出现在 到目前为止一切都很好 我有一个视图(一个erb文件),它会输出需要引用此文件的javascript。输出需要是localhost上的'/myfile.kml',生产环境中的'/myappname/myfile.kml',或者可能是如上所述的完整url,或者可能是包含一点'../../../'的相对ur

在我的rails(v2.3.8)应用程序中,我有一个静态资源文件,放在/public/myfile.kml,不需要任何特殊的routes.rb设置,对吗

一点也不错

当我(对乘客)展开时,它出现在

到目前为止一切都很好

我有一个视图(一个erb文件),它会输出需要引用此文件的javascript。输出需要是localhost上的'/myfile.kml',生产环境中的'/myappname/myfile.kml',或者可能是如上所述的完整url,或者可能是包含一点'../../../'的相对url(与RESTful url不协调)

我应该能做像这样的事情吗

或“/myfile.kml”


我知道这个问题有一个非常简单的答案,但老实说,我没有找到它。很多人都在谈论“根url”,但那是什么呢?我可以在视图中引用的变量?没有定义

我不确定Rails 2.3.8,但在Rails 3中,该值默认为false

编辑
config/environments/production.rb
并设置:

config.service\u static\u assets=true

另外,这里有一篇博客文章,展示了链接到静态资源的助手(favicon)

最新版本(>2.3.6)是Rails.root,请参阅:

'/myfile.kml'


为什么不在本地复制您的生产环境?Web服务器不太需要资源,它可以帮助解决一些生态系统配置问题,如您在这里看到的。

检查
rake路由
可以在视图中使用帮助器
根路径
。例如,
默认情况下将映射到rails应用程序中public/下的文件。

这为我提供了一个文件系统路径。我需要相对或绝对URL。虽然“compute\u public\u path”在路径末尾的一些“缓存破坏”gubbins中很有用,但我不希望这样
'<%= ENV["RAILS_RELATIVE_URL_ROOT"] %>/myfile.kml'