gpt4 book ai didi

javascript - Rails 尝试从不正确的位置加载资源

转载 作者:行者123 更新时间:2023-11-28 01:47:35 25 4
gpt4 key购买 nike

我的 javascript 和 jquery 遇到问题。除了一些自己编写的脚本之外,我还使用 Bootstrap 。当我尝试执行 javascript 驱动的操作(即单击显示隐藏 div 的按钮或打开模式)时,浏览器没有响应。浏览器的 JavaScript 控制台显示以下错误:

Failed to load resource: the server responded with a status of 404 (Not Found) http://localhost:3000/ecns/css/bootstrap.min.css
Failed to load resource: the server responded with a status of 404 (Not Found) http://localhost:3000/ecns/js/bootstrap.min.js

请注意,该位置位于文件夹“ecns”而不是“assets”中。 Ecns 是我的模型之一,我当前在浏览器中使用的模型,如果我转到应用程序的不同部分,错误如下所示:

Failed to load resource: the server responded with a status of 404 (Not Found) http://localhost:3000/requests/js/bootstrap.min.js

我知道脚本本身没有问题,因为它们在不同的计算机上运行。我假设我的 Rails 中有一些配置或安装不正确的东西。作为引用,这是我的 application.js:

//= require jquery
//= require jquery_ujs
//= require_tree .

以下是我的应用程序布局:

<head>
<link href="css/bootstrap.min.css" rel="stylesheet" media="screen">
<title>Site</title>
<%= javascript_include_tag "application" %>
<%= stylesheet_link_tag "application", media: "all" %>
<%= csrf_meta_tags %>
</head>
<body>
...
<script src="js/bootstrap.min.js"></script>
</body>

为什么 Rails 会寻找错误的 Assets 位置?我正在运行 Rails 3.2.1

最佳答案

Rails 使用自定义 Assets 管道,这将使应用程序根目录中的 assets 子目录下的所有 Assets 可见。

因此,如果您的基址是 http://www.something.com/,所有 Assets 都将位于 http://www.something.com/assets/ 下.

如果您想导入 CSS 或 JS 文件,并且您已将它们正确放置在 Rails 的 app/assets/ 目录中,则应使用以下命令:

<%= javascript_include_tag "bootstrap.min" %>
<%= stylesheet_link_tag "bootstrap.min" %>

将它们放置在布局中您需要的任何位置。

如果您仍然想手动导入它们(我不推荐),请使用这些:

<script src="assets/bootstrap.min.js"></script>
<link href="assets/bootstrap.min.css" rel="stylesheet" media="screen">

关于javascript - Rails 尝试从不正确的位置加载资源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20098729/

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