一个可以理解的奇怪问题。我正在将项目移植到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
目录中。
如果我将脚本和样式表放在<head>
中,如何让Rails链接/public
下的脚本?
谢谢!
答案 0 :(得分:2)
由于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
的正文部分。
您可以从app/assets/javascripts/application.js
文件中删除不需要的js,从app/assets/stylesheets/application.css
文件中删除css。您还可以在这两个文件中指定自己的资产。
我不确定/public
级别。 Rails管道资产可以放置在三个位置之一的应用程序内:app/assets
,lib/assets
或vendor/assets
。
详细了解:Rails Asset Pipeline