gpt4 book ai didi

ruby-on-rails - Heroku 上的 Rails 5.x.x(没有路由匹配 [GET]/assets)

转载 作者:行者123 更新时间:2023-12-04 06:20:30 24 4
gpt4 key购买 nike

我是 Rails 新手。部署到 Heroku 后出现问题。 Controller 中指示的所有 Assets 均不工作。在本地一切正常。

ActionController::RoutingError (No route matches [GET] "/assets/freelancer.min.js"):
ActionController::RoutingError (No route matches [GET] "/assets/portfolio/submarine.png")

来自 Controller 的 Assets 示例:

<img src='assets/portfolio/submarine.png' class='img-responsive' alt='Submarine'>

<!-- Theme JavaScript -->
<script src='assets/freelancer.min.js'></script>

有人知道发生了什么事吗?

更新:

感谢您对@pythia 的回复。这适用于图像,但我无法使其适用于 java 脚本和样式表。看起来 Rails 找不到文件,但我检查了 JS 和 CSS,它们存在。我使用的代码是:

对于 JS:

<%= javascript_include_tag 'freelancer.min.js'%>

对于 CSS:

<%= stylesheet_link_tag "bootstrap.min.css", rel: "stylesheet"%>

错误日志:

ActionController::RoutingError (No route matches [GET] "/javascripts/contact_me.js")
ActionController::RoutingError (No route matches [GET] "/stylesheets/freelancer.min.css")

最佳答案

你需要使用像 <%= image_tag %> 这样的助手因为 Rails 的 Assets 管道会预编译您的图像。它会“指纹”您的每个图像,并在文件名末尾添加一串字母数字字符。

所以你会想要:

<%= image_tag "portfolio/submarine.png", class: "img-responsive", alt: "Submarine"%>

如果您的 freelancer.min.js 在 assets/javascripts 文件夹中,它会被添加到您的 application.js 中,并且应该在您的整个应用程序中可用。

Assets 管道的 Rails 指南中有更多信息:

关于ruby-on-rails - Heroku 上的 Rails 5.x.x(没有路由匹配 [GET]/assets),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43310347/

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