Ruby on rails 2 在Rails 2 ERB视图中为/public中的文件生成URL
在我的rails(v2.3.8)应用程序中,我有一个静态资源文件,放在/public/myfile.kml,不需要任何特殊的routes.rb设置,对吗 一点也不错 当我(对乘客)展开时,它出现在 到目前为止一切都很好 我有一个视图(一个erb文件),它会输出需要引用此文件的javascript。输出需要是localhost上的'/myfile.kml',生产环境中的'/myappname/myfile.kml',或者可能是如上所述的完整url,或者可能是包含一点'../../../'的相对url(与RESTful url不协调) 我应该能做像这样的事情吗 或“/myfile.kml”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
我知道这个问题有一个非常简单的答案,但老实说,我没有找到它。很多人都在谈论“根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'