gpt4 book ai didi

css - 为什么 Sprockets 找不到我编译的 Assets ?

转载 作者:太空宇宙 更新时间:2023-11-03 18:35:22 25 4
gpt4 key购买 nike

我们已将 Rails 1.9.3 应用程序部署到生产 Windows 2008 R2s 服务器。 [客户坚持使用 IIS :-(]。我们正在使用 Helicon Zoo,在 IIS 管理器中设置站点,将应用程序复制到默认目录,然后运行:

  • 捆绑安装
  • bundle exec rake assets:precompile
  • rake db:setup RAILS_ENV="production"

我们能够进行本地和远程连接,但有两个问题。

1) CSS 样式表不可用,页面格式(毫不奇怪)很糟糕。日志显示如下:

Started GET "/assets/application-af54c6f2f95c6c2f7d965706cab068f3.css" for 10.10.100.185 at 2013-09-16 17:02:27 -0400

ActionController::RoutingError (No route matches [GET] "/assets/application-af54c6f2f95c6c2f7d965706cab068f3.css"):
actionpack (3.2.13) lib/action_dispatch/middleware/debug_exceptions.rb:21:in `call'
actionpack (3.2.13) lib/action_dispatch/middleware/show_exceptions.rb:56:in `call'
...

但是,在 public/assets 目录中有一个名为“application-af54c6f2f95c6c2f7d965706cab068f3.css”的文件。给了什么?

2) 路由在开发中有效,而 WEBrick 在生产中中断。这是一个例子:

查看代码: <%= link_to 'Logout', logout_path, 方法::delete %>

路线代码:

controller :sessions do
get 'login' => :new
post 'login' => :create
delete 'logout' => :destroy
post 'logout' => :create
end

日志:

Started GET "/logout" for 10.10.100.185 at 2013-09-16 17:04:20 -0400

ActionController::RoutingError (No route matches [GET] "/logout"):
actionpack (3.2.13) lib/action_dispatch/middleware/debug_exceptions.rb:21:in `call'
actionpack (3.2.13) lib/action_dispatch/middleware/show_exceptions.rb:56:in `call'
...

为什么当 Controller 指示“方法::删除”时 [Get]?为什么它在开发中有效,但在生产中无效?

最佳答案

两者都会促使您解决路由问题。

  • 首先确定您没有 Assets Controller 。
  • 然后一定要对路线有很好的了解。有 good article about .
  • 检查环境配置文件之间的差异
  • 考虑阅读或审查配置rails guides

我知道这只是一条检查线,但它有助于专注于正确的点。

关于css - 为什么 Sprockets 找不到我编译的 Assets ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18837991/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com