繁体   English   中英

Rails资产管道返回404

[英]Rails asset pipeline returning 404

我机智! 我继承了Rails应用程序-以前的开发人员决定不使用资产管道,并基本上删除了所有配置选项。 我正在尝试放回去。

系统如下:

  • Rails 3.2.18托管在https://example.com/-/
  • 薄+阿帕奇(NOT Heroku)
  • 它是从rails 2到rails 3.2.18的中间迁移,因此旧版本位于example.com,而新版本位于example.com/-/-使用apache重写规则完成。

*问题*

资产管道针对application.js和application.css返回404。

* 设定 *

app / assets文件夹均按照基本的Rails 3安装进行设置。

** Gemfile **

gem 'sass-rails'
gem 'jquery-rails'
gem 'coffee-rails'
gem 'uglifier'

布局文件

<%= stylesheet_link_tag     "application", media: 'all' %>                                                                                                              
<%= javascript_include_tag  "application" %>

application.rb资产相关选项

config.assets.enabled = true
config.assets.version = '1.0'    
config.assets.serve_static_assets = true

config.action_controller.asset_host = Proc.new do |source, request|
  "#{request.protocol}#{request.host_with_port}/-"
end

环境/development.rb资产相关的选项

config.assets.debug = true

环境/production.rb资产相关选项

config.assets.enabled = true

我正在使用rake asset:precompile进行编译,该编译成功在public / assets下创建了资产文件夹。 我在app / assets下的application.css和application.js中放了一行测试脚本,可以看到那些文件最终出现在public / assets中。

因此,所有文件似乎都可以正确编译...但是请求无法正常工作!

*问题*

在开发模式下,以上内容呈现:

  <link href="https://example.com/-/assets/application.css?body=1" media="all" rel="stylesheet" type="text/css" />
  <script src="https://example.com/-/assets/application.js?body=1" type="text/javascript"></script>

在生产中它呈现:

<link href="https://example.com/-/assets/application.css" media="all" rel="stylesheet" type="text/css" />
<script src="https://example.com/-/assets/application.js" type="text/javascript"></script>

所有这些都以404返回。

另外 :如果我将其他文件放在资产文件夹中,它们将被送达! 例如,我将文件foo.txt添加到已编译资产旁边的public / assets文件夹中,然后浏览到

https://example.com/-/assets/foo.txt

而且效果很好。 我将foo.txt更改为application.css;

https://example.com/-/assets/application.css

并且它是404s,即使我可以看到文件位于文件夹中-我也用谷歌搜索了这个地狱,所有迹象都指向该“ serve_static_assets”选项,但是如您所见,我将其设置为true(另外,我正在遍历apache,因此据说根本不必将其设置为true)。

如果有人知道这里发生了什么,我将非常感谢!

为什么Rails对于不同类型文件的请求会有不同的表现?

排序-一些木偶已在apache重写规则中添加,以确保所有css / js文件(正则表达式)都移至硬盘另一端的某个文件夹中。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM