【发布时间】:2017-10-29 02:43:27
【问题描述】:
我刚才一直在做一个 ruby on rails 项目。我创建了一个名为“animals”的控制器和一个用于索引操作的视图 (index.html.erb)。我不想包含“应用程序”javascript 文件。
所以我创建了animals.js
文件的内容是
//= require jquery
//= require jquery_ujs
//= require turbolinks
//= require bootstrap-sprockets
//= animals.coffee
我还在asset.rb中添加了animals.js和animals.css
Rails.application.config.assets.precompile += %w( animals.js )
Rails.application.config.assets.precompile += %w( animals.css )
我的 index.html.erb 包含以下几行
<%= stylesheet_link_tag 'animals', media: 'all', 'data-turbolinks-track' => true %>
<%= javascript_include_tag 'animals', 'data-turbolinks-track' => true %>
当我检查服务器生成的源 html 代码时,我发现页面中没有包含 jquery scipts。它只是 animal.js 文件。
<head>
<meta name="viewport" content="width=device-width, initial- scale=1.0">
<title>Rails Omniauth</title>
<meta name="description" content="Rails Omniauth">
<link rel="stylesheet" media="all" href="/assets/animals.self-e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b5433a495991b7852b855.css?body=1" data-turbolinks-track="true">
<script src="/assets/animals.self-1d93d37bf2f830ac42e82eb68e3bb0040ece5d23533a05bf77f7407fd59178d3.js?body=1" data-turbolinks-track="true"></script>
</head>
有什么建议为什么要包含这些脚本?
谢谢。
【问题讨论】:
-
那么您实际上是在问为什么 jquery 不 被包括在内,或者为什么只包括您的
animals.js? -
是的,这是我的主要问题。当我添加
-
那么您现在的问题是什么?你意识到区别了吗?我建议不要走这条路,只需要 application.js。您还可以创建第二个
application_2.js在其中添加 jquery 和动物并将其包含在您的视图中
标签: javascript ruby-on-rails coffeescript asset-pipeline assets