Jammit和Grouped Package包括

时间:2014-10-17 21:08:30

标签: ruby sinatra jammit

为我的sinatra应用程序找到了一个使用Jammit的assets.yml文件。

这是我想要完成但不能实现的一个例子。

  application: &application
    - app/assets/js/vendor/jquery-2.1.1.js
    - app/assets/js/vendor/underscore.js
    - app/assets/js/underscore.strings.js


  other_app:
    - <<: *application
    - app/assets/js/underscore.strings.js
    - app/assets/js/vendor/angularjs/angular.js
    - app/assets/js/vendor/angularjs/angular-sanitize.js
    - app/assets/js/vendor/angular_plugins/**/*.js

这是我遇到的错误

no implicit conversion of Hash into String

在我的布局中包含其他包很容易,但这意味着越来越多的请求,我不能轻易暗示所需的资产订单。 (例如,这个包需要角度包括之前)。

扎实的半天谷歌搜索一无所获! 谢谢SO!

2 个答案:

答案 0 :(得分:0)

我猜它只是缩进问题,没别的。您可以在

验证.yml内容
http://yaml-online-parser.appspot.com/ 

尝试它,清楚地表明它无法正确解析它。以完全相同的方式复制以下内容,它将开始正确解析:

 application: &application
  - app/assets/js/vendor/jquery-2.1.1.js
  - app/assets/js/vendor/underscore.js
  - app/assets/js/underscore.strings.js


other_app:
  - <<: *application
  - app/assets/js/underscore.strings.js
  - app/assets/js/vendor/angularjs/angular.js
  - app/assets/js/vendor/angularjs/angular-sanitize.js
  - app/assets/js/vendor/angular_plugins/**/*.js

它只有1个空格的差异。请检查此链接:http://goo.gl/mUFNud

希望有所帮助:)

答案 1 :(得分:0)

答案如下

 application: &application
    - app/assets/js/vendor/jquery-2.1.1.js
    - app/assets/js/vendor/underscore.js
    - app/assets/js/underscore.strings.js


  other_app:
    - *application
    - app/assets/js/underscore.strings.js
    - app/assets/js/vendor/angularjs/angular.js
    - app/assets/js/vendor/angularjs/angular-sanitize.js
    - app/assets/js/vendor/angular_plugins/**/*.js

否&lt;&lt ;: Just * application