gpt4 book ai didi

ruby-on-rails - Rails Assets 预编译不起作用

转载 作者:行者123 更新时间:2023-12-01 17:42:13 24 4
gpt4 key购买 nike

我已将 Rails 应用程序推送到 Heroku,但仍然遇到以下问题:

我将保存对我的主 css.scss 文件(在 Assets /样式表中)或 Assets /图像中的图像的更改,推送到 git,将其推送到 heroku,然后重新加载页面,结果发现这些 Assets 根本没有被加载。

这在本地服务器上也是一个小问题,但是输入:

rake assets:precompile

重新加载本地服务器通常是有效的,而这样做

heroku run rake assets:precompile

然后重新推送没有任何作用。我四处搜寻信息,但没有发现任何特别有用的信息。

值得注意的是,在我的config/application.rb中(其中一些是钓鱼的结果):

# Enable the asset pipeline
config.assets.enabled = true

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

config/environments/Production.rb中:

# Disable Rails's static asset server (Apache or nginx will already do this)
config.serve_static_assets = false

# Compress JavaScripts and CSS
config.assets.compress = true

# Fallback to assets pipeline if a precompiled asset is missed
config.assets.compile = true

# Generate digests for assets URLs
config.assets.digest = true

更有趣的是,当我推送到 Heroku 时,它会显示以下内容:

Preparing app for Rails asset pipeline
Detected manifest.yml, assuming assets were compiled locally
-----> Rails plugin injection
Injecting rails_log_stdout
Injecting rails3_serve_static_assets

Installing dependencies using Bundler version 1.3.0.pre.5
Running: bundle install --without development:test --path vendor/bundle --binstubs vendor/bundle/bin --deployment

我学习了 Rails 3,但并不真正知道 Assets 管道与以前版本中的 Assets 管道有何不同,如果我是个白痴并在我的配置文件中放置了重叠和/或矛盾的设置,那么很抱歉。

非常感谢任何帮助。这一直是一个令人头疼的问题。

最佳答案

看起来您可能将本地编译的 Assets 添加到 git 并推送它们,因此 Heroku 不会在推送时编译您的 Assets 。检查并确保您没有将 public/assets 目录添加到 git。

关于ruby-on-rails - Rails Assets 预编译不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14697604/

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