【问题标题】:vendor javascript files missing from rails projectrails 项目中缺少供应商 javascript 文件
【发布时间】:2015-09-11 06:13:26
【问题描述】:

我正在使用 rails v4.2.4。我尝试使用命令创建一个测试应用程序

rails new app

尽管我可以在 Gemfile 中看到 jquery 引用(也存在于 application.js 中),并且我也运行了 bundle install,但是,vendor/assets/javascript 目录是空的并且不包含 JS 文件.我也已经运行了 bundle install 。我应该手动添加它们还是我错过了在 Rails 项目中为我提取这些文件的命令?

app/assets/javascripts 中的application.js 文件

// This is a manifest file that'll be compiled into application.js, which will include all the files
// listed below.
//
// Any JavaScript/Coffee file within this directory, lib/assets/javascripts, vendor/assets/javascripts,
// or any plugin's vendor/assets/javascripts directory can be referenced here using a relative path.
//
// It's not advisable to add code directly here, but if you do, it'll appear at the bottom of the
// compiled file.
//
// Read Sprockets README (https://github.com/rails/sprockets#sprockets-directives) for details
// about supported directives.
//
//= require jquery
//= require jquery_ujs
//= require turbolinks
//= require_tree .

【问题讨论】:

  • 您希望 JS 文件如何呈现在vendor/assets/javascripts 目录中?签入app/assets/javascripts目录
  • 该目录有一个引用 jquery 的 application.js。我的问题是:我需要运行命令将这些文件拉入项目还是应该在我调用 rails new app 时添加它们?

标签: javascript jquery ruby-on-rails ruby-on-rails-4


【解决方案1】:

jQuery.jsrespective gemvendor/assets/javascripts 目录中。 jquery-rails 是所谓的Rails Engine,它本身就是一个“迷你应用”。

引擎可以被认为是为其宿主应用程序提供功能的微型应用程序。 Rails 应用程序实际上只是一个“增压”引擎,Rails::Application 类从 Rails::Engine 继承了很多行为。

如何找到jquery-rails主目录

发出命令(找出jquery-rails所在的位置):

gem which jquery-rails
#=> /home/dimitri/.rvm/gems/ruby-2.1.5/gems/jquery-rails-4.0.5/lib/jquery-rails.rb

jquery-rails 的主目录,根据输出,是:

/home/dimitri/.rvm/gems/ruby-2.1.5/gems/jquery-rails-4.0.5

您的版本和路径可能不同。

【讨论】:

  • 这是我的问题 - 供应商/资产/javascripts 中没有文件。 app/assets/javascript 中的 application.js 文件引用 jquery 等。我需要运行不同的命令将它们添加到项目中吗? rails new app 不处理吗?
  • 它们不在您应用的目录中。它们位于jquery-rails 的主目录中。查看如何在更新的答案中找到jquery-rails home 目录。
  • 所以我应该从那里复制/粘贴吗?没有我可以调用的脚本来确保将依赖项添加到我的项目中?谢谢你的回答
  • @user3813256 不,你不需要。 jQuery 将自动包含在您的应用程序中。你可以认为它已经插入了。
  • 它没有发生,这就是我发布问题的原因。当我在浏览器中启动测试页面时,我可以看到缺少的引用。
猜你喜欢
  • 2019-05-17
  • 2019-03-24
  • 2017-10-21
  • 1970-01-01
  • 2011-11-03
  • 2014-04-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多