Ruby on rails Rails将js包含到特定视图中
我知道这里的答案是:,但是我没有得到什么 如何在:defaults标记中指定js文件?我试图指定js的路径,而不是使用标记 在application.html.erb中:Ruby on rails Rails将js包含到特定视图中,ruby-on-rails,path,header,ruby-on-rails-5,Ruby On Rails,Path,Header,Ruby On Rails 5,我知道这里的答案是:,但是我没有得到什么 如何在:defaults标记中指定js文件?我试图指定js的路径,而不是使用标记 在application.html.erb中: <head> <title>...</title> <%= csrf_meta_tags %> <%= stylesheet_link_tag 'application', media: 'all', 'data-turbolinks-track': 'rel
<head>
<title>...</title>
<%= csrf_meta_tags %>
<%= stylesheet_link_tag 'application', media: 'all', 'data-turbolinks-track': 'reload' %>
<%= javascript_include_tag 'application', 'data-turbolinks-track': 'reload' %>
<%= yield :head %>
</head>
<!DOCTYPE html>
<html>
<head>
<title>....</title>
<%= csrf_meta_tags %>
<%= content_for :assets do %>
<%end%>
<%= stylesheet_link_tag 'application', media: 'all', 'data-turbolinks-track': 'reload' %>
<%= javascript_include_tag 'application', 'data-turbolinks-track': 'reload' %>
</head>
<body>
<div class="container">
<%= link_to 'Home', root_path, class: 'btn btn-default' %>
<button onclick="toggleTodos()" class="btn btn-default">Toggle TODO's</button>
<% flash.each do |key, value| %>
<div class="alert alert-<%= key %>"><%= value %></div>
<% end %>
<div class="jumbotron">
<%= yield %>
</div>
</div>
</body>
</html>
供应商内容的正确位置(非项目特定内容或非您编写的内容)位于
/vendor/assets/javascripts
中。这也解决了您的问题,因为/=require\u树不需要供应商/资产
因此,将其移动到/vendor/assets/javascripts/http\u cdn.quilljs.com\u 1.3.2\u quill.js
/vendor/assets
位于链轮的默认资产查找路径上
<head>
<title>...</title>
<%= csrf_meta_tags %>
<%= content_for :assets do %>
<%= stylesheet_link_tag 'application', media: 'all', 'data-turbolinks-track': 'reload' %>
<%= javascript_include_tag 'application', 'data-turbolinks-track': 'reload' %>
<% end %>
</head>
这还允许您使用provide
或concat:false
,以防覆盖布局提供的块。供应商内容的正确位置(非项目特定或由您编写的内容)位于/vendor/assets/javascripts
中。这也解决了您的问题,因为/=require\u树不需要供应商/资产
因此,将其移动到/vendor/assets/javascripts/http\u cdn.quilljs.com\u 1.3.2\u quill.js
/vendor/assets
位于链轮的默认资产查找路径上
<head>
<title>...</title>
<%= csrf_meta_tags %>
<%= content_for :assets do %>
<%= stylesheet_link_tag 'application', media: 'all', 'data-turbolinks-track': 'reload' %>
<%= javascript_include_tag 'application', 'data-turbolinks-track': 'reload' %>
<% end %>
</head>
这还允许您使用provide
或concat:false
,以防覆盖布局提供的块。您可以将js文件存根以手动加载,然后将其添加到Rails.application.config.assets.precompile
中的assets.rb文件中,最后使用javascript\u include\u标记将其添加到视图中。如果您将文件放在vendor/assets
中,则不需要存根,谢谢你的提示@max。主要问题是视图中的线条不正确。使用content\u for
和一个块,不要忘了使用javascript\u include\u tage
和可以将js文件存根以手动加载,然后将其添加到Rails.application.config.assets.precompile
中的assets.rb文件中,最后使用javascript\u include\u标记将其添加到视图中。如果您将文件放在vendor/assets
中,则不需要存根,谢谢你的提示@max。主要问题是视图中的线条不正确。使用content\u for
和一个块,不要忘了使用javascript\u include\u tage
和我认为它可以工作,但它不是。。。很抱歉你能检查一下我的application.html.erb是否正确吗?“它不工作”是世界上最无用的信息。具体是什么不起作用?您必须自己调试应用程序。不起作用的是视图中没有加载js文件。我怀疑我真的不明白如何在application.html.erb中输入“”,因为其他部分非常清楚。只需将
部分替换为我答案中的部分即可。我认为这很明显。我认为它起作用了,但它不是。。。很抱歉你能检查一下我的application.html.erb是否正确吗?“它不工作”是世界上最无用的信息。具体是什么不起作用?您必须自己调试应用程序。不起作用的是视图中没有加载js文件。我怀疑我真的不明白如何在application.html.erb中输入“”,因为其他部分非常清楚。只需将
部分替换为我答案中的部分即可。我觉得这很明显。
<% content_for :assets do %>
<%= javascript_include_tag('http_cdn.quilljs.com_1.3.2_quill') %>
<% end %>