gpt4 book ai didi

ruby-on-rails - 将新图像添加到 Assets 路径然后 Rails 5 将无法加载

转载 作者:行者123 更新时间:2023-12-05 07:37:42 25 4
gpt4 key购买 nike

我在开发(本地主机)环境中有一个 Rails 应用程序, Assets 路径中有一些图像。每次我添加另一个图像(将其复制到 Assets 路径)然后运行服务器时,页面都不会加载。

它无缘无故发生,然后我尝试运行 rake assets:precompile。完成该过程大约需要 30 分钟。它再次起作用。

现在我想向 Assets 文件夹添加另一个新图像,然后服务器将不会再次运行。所以我必须再次运行预编译命令才能使其再次运行。

这很不寻常,因为以前如果我将新图像添加到 Assets 文件夹,我不必运行预编译命令。

我还注意到,在运行该命令时,它会在公用文件夹中创建新文件夹。

是 Rails 5 或其他方面的错误吗?谢谢。


更新

没有错误消息,但这是时间顺序:

  1. 我将新图像复制到 Rails 应用中的 Assets 文件夹

  2. 我运行服务器 rails server

  3. 我在浏览器中打开localhost:3000

  4. 页面无法加载

  5. 这是日志:

    => Booting Puma
    => Rails 5.0.2 application starting in development on http://localhost:3000
    => Run `rails server -h` for more startup options
    Puma starting in single mode...
    Version 3.7.1 (ruby 2.3.1-p112), codename: Snowy Sagebrush
    Min threads: 5, max threads: 5
    Environment: development
    Listening on tcp://localhost:3000
    Use Ctrl-C to stop
    Started GET "/" for ::1 at 2018-01-24 00:19:01 +0700
    ActiveRecord::SchemaMigration Load (0.6ms) SELECT
    "schema_migrations".* FROM "schema_migrations"
    Processing by PagesController#index as HTML
    Rendering pages/index.html.erb within layouts/application
    Started GET "/" for ::1 at 2018-01-24 00:19:04 +0700
    Processing by PagesController#index as HTML
    Rendering pages/index.html.erb within layouts/application
    ^CExiting
    Rendered pages/index.html.erb within layouts/application (409487.0ms)
    Rendered pages/index.html.erb within layouts/application (413206.1ms)
    Completed 401 Unauthorized in 409506ms (ActiveRecord: 0.0ms)

然后我尝试通过运行 rake assets:precompile 来解决问题,然后我重新启动服务器并正确加载页面。

但是每当我将另一个图像添加到 Assets 文件夹时,我都必须运行预编译命令,这需要大约 30 分钟才能完成(非常不寻常,我以前从未运行过预编译命令,我的应用程序在过去工作得很好)

我还发现通过运行预编译命令在公共(public)目录中创建了一个新文件夹,这在我之前从未发生过。


更新 #2

这是我的 assets.rb 的样子:

# Be sure to restart your server when you modify this file.

# Version of your assets, change this if you want to expire all your assets.
Rails.application.config.assets.version = '1.0'

# Add additional assets to the asset load path
# Rails.application.config.assets.paths << Emoji.images_path

# Precompile additional assets.
# application.js, application.css, and all non-JS/CSS in app/assets folder are already added.
# Rails.application.config.assets.precompile += %w( search.js )

最佳答案

我终于找到了解决方案。永远不要把你的图片放到 apps/assets/images/ 因为它需要编译图片以设置为 public,你需要做的就是将所有图片移动到 public/,然后创建名为 assets/ 或您希望使用的名称的新子文件夹。

关于ruby-on-rails - 将新图像添加到 Assets 路径然后 Rails 5 将无法加载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48407524/

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