application.css 将 Rails 3.2.17 升级到 Rails 4.0.0 时更改了路径
application.css changed path when upgrading Rails 3.2.17 to Rails 4.0.0
我正在将 Rails 3.2.17
升级到 Rails 4.0.0
,我的应用无法再检索它的资产。
如果我访问页面源代码,我可以看到该应用正在尝试从以下位置加载 css:
/stylesheets/jackapp/application.css?body=1
如果我删除 'stylesheets',我会在下面看到样式表:
/jackapp/application.css?body=1
尝试加载时的相同行为 application.js。它试图获得
/javascripts/jackapp/application.css?body=1
但 js 位于:
/jackapp/application.css?body=1
有什么想法吗?为什么 Rails 4 将 'stylesheet' 附加到该路径?
我没有更改 application.html.erb
即:
<!DOCTYPE html>
<html>
<head>
<%= stylesheet_link_tag "application", :media => "all" %>
<%= stylesheet_link_tag "print.css", media: "print" %>
<title><%= yield :title %> - GOV.UK</title>
<%= yield :head %>
</head>
我还从 Gemfile
中删除了 group :assets
并替换了
if defined?(Bundler)
# If you precompile assets before deploying to production, use this line
Bundler.require *Rails.groups(assets: %w(development test))
# If you want your assets lazily compiled in production, use this line
# Bundler.require(:default, :assets, Rails.env)
end
与:
Bundler.require(:default, Rails.env)
此外,我还遵循了以下说明:
http://railscasts.com/episodes/415-upgrading-to-rails-4
而且我没有任何失败的测试。
如何告诉应用程序以正确的路径加载资产?
谢谢。
杰克
我必须在将资产编译到 application.rb 文件的路径中添加前导斜杠
config.assets.prefix = "jackapp"
至:
config.assets.prefix = "/jackapp"
噢.. RAILS.
我正在将 Rails 3.2.17
升级到 Rails 4.0.0
,我的应用无法再检索它的资产。
如果我访问页面源代码,我可以看到该应用正在尝试从以下位置加载 css:
/stylesheets/jackapp/application.css?body=1
如果我删除 'stylesheets',我会在下面看到样式表:
/jackapp/application.css?body=1
尝试加载时的相同行为 application.js。它试图获得
/javascripts/jackapp/application.css?body=1
但 js 位于:
/jackapp/application.css?body=1
有什么想法吗?为什么 Rails 4 将 'stylesheet' 附加到该路径?
我没有更改 application.html.erb
即:
<!DOCTYPE html>
<html>
<head>
<%= stylesheet_link_tag "application", :media => "all" %>
<%= stylesheet_link_tag "print.css", media: "print" %>
<title><%= yield :title %> - GOV.UK</title>
<%= yield :head %>
</head>
我还从 Gemfile
中删除了 group :assets
并替换了
if defined?(Bundler)
# If you precompile assets before deploying to production, use this line
Bundler.require *Rails.groups(assets: %w(development test))
# If you want your assets lazily compiled in production, use this line
# Bundler.require(:default, :assets, Rails.env)
end
与:
Bundler.require(:default, Rails.env)
此外,我还遵循了以下说明:
http://railscasts.com/episodes/415-upgrading-to-rails-4
而且我没有任何失败的测试。
如何告诉应用程序以正确的路径加载资产? 谢谢。
杰克
我必须在将资产编译到 application.rb 文件的路径中添加前导斜杠
config.assets.prefix = "jackapp"
至:
config.assets.prefix = "/jackapp"
噢.. RAILS.