一个可以理解的奇怪问题。我正在将一个项目移植到RoR,以便使用它的一些组件。资产管理不在其中。
我在我的页面中结束了这样的东西:
<!DOCTYPE html>
<html>
<head>
<title>Opera</title>
<link data-turbolinks-track="true" href="/assets/application.css?body=1" media="all" rel="stylesheet" />
<link data-turbolinks-track="true" href="/assets/main.css?body=1" media="all" rel="stylesheet" />
<script data-turbolinks-track="true" src="/assets/jquery.js?body=1"></script>
<script data-turbolinks-track="true" src="/assets/jquery_ujs.js?body=1"></script>
<script data-turbolinks-track="true" src="/assets/turbolinks.js?body=1"></script>
<script data-turbolinks-track="true" src="/assets/main.js?body=1"></script>
<script data-turbolinks-track="true" src="/assets/application.js?body=1"></script>
<meta content="authenticity_token" name="csrf-param" />
<meta content="5YFRzv/wICYBms8cregzthpFqCr5gf3pQknNpLOOeEg=" name="csrf-token" />
</head>
<body>
<!-- My scripts and stylesheets below -->
我该怎么做才能使页面不加载自己的脚本和样式表?
此外,如果我在.erb
模板中链接样式表,它们都在<body>
标记下结束。Rails样式表/脚本帮助程序假定您的内容位于/asset
目录中。
如果我把我的脚本和样式表在/public
我如何得到Rails链接我的脚本在<head>
?
谢谢!
默认脚本和样式表被加载是因为app/views/layouts/application.html.erb
<%= stylesheet_link_tag "application", media: "all", "data-turbolinks-track" => true %>
<%= javascript_include_tag "application", "data-turbolinks-track" => true %>
Rails使用文件app/views/layouts/application.html.erb
中定义的布局作为呈现任何视图的默认值。在渲染时,视图进入application.html.erb
的主体部分。
你可以删除不需要的js从app/assets/javascripts/application.js
文件和css从app/assets/stylesheets/application.css
文件。你也可以在这两个文件中指定你自己的资产。
我不确定/public
水平。Rails管道资源可以放置在应用程序中的三个位置之一:app/assets
, lib/assets
或vendor/assets
。
阅读更多详细信息:Rails资产管道