ruby-on-rails-3.1 – Rails 3.1:从供应商/资产目录不能正确地提供javascript?

我已经在几个目录中组织了我的javascript文件,我发现了以下奇怪的行为.给出以下树:
+ app
  + assets
    + javascripts
      + common
      + public
        + common
        + home
          - home.js

home.js看起来像这样:

//= require jquery
//= require jquery_ujs
//= require jquery-ui
//= require_directory ../../jquery_plugins
//= require_directory ../../common
//= require_directory ../common
//= require_self

现在的诀窍在于jquery_plugins目录.我把这个内部的供应商/ assets / javascripts(包含在资产加载路径中,当我检查Rails.application.config.assets.paths).当我这样做我得到错误:require_tree参数必须是一个目录.当我将该目录移动到app / assets / javascripts时,一切正常.

有人对我做错了吗?还是这个bug?

解决方法

您可以将清单文件添加到您尝试投放的目录中
供应商/资产/ Java脚本/ jquery_plugins / manifest.js
//= require_directory .

并通过你的app / assets / javascripts / application.js来要求它

//= require jquery_plugins/manifest

编辑(甚至更简单)

感谢@LeEnno为此

实际上,您可以将所有单个库相关的文件放在一个名为库的文件夹中,例如vendor / assets / javascripts / bootstrap,并在同一个文件夹中添加一个index.js,它将作为您的清单,Rails会自动将其取回

如果在你的

app/assets/javascripts/application.js

添加

//= require bootstrap

太简单!!!
链接Rails Asset Pipeline Guide

相关文章

validates:conclusion,:presence=>true,:inclusion=>{...
一、redis集群搭建redis3.0以前,提供了Sentinel工具来监控各...
分享一下我老师大神的人工智能教程。零基础!通俗易懂!风趣...
上一篇博文 ruby传参之引用类型 里边定义了一个方法名 mo...
一编程与编程语言 什么是编程语言? 能够被计算机所识别的表...
Ruby类和对象Ruby是一种完美的面向对象编程语言。面向对象编...