Rails 3.2包括供应商第三方javascripts

时间:2013-08-16 06:09:10

标签: ruby-on-rails assets vendor

我的供应商文件夹中有一个名为hammer.js的文件我想将vendor/assets/javascripts中的第三方js和app/assets/javascripts中的所有自制内容保存在一起。

但是,在预编译我的资产时,rails不会从供应商那里获取我的资产。在我的清单文件中,我指定//= require vendor没有用,所以我尝试//= require hammer,我尝试//= require hammer.js从我读到的这些解决方案似乎适用于其他人。但它根本没有加载它

注意:我每次都bundle exec rake assets:precompile并检查公共资产,然后每次尝试替代时都会渲染页面并查看已加载的资源。

修改

//= require jquery
//= require jquery.ui.all
//= require jquery_ujs
//= require_tree ../../../vendor/assets/javascripts
//= require_tree .

所以我试过这个。但它还没有加载

在config / environments / production.rb中

我有以下

# Code is not reloaded between requests
config.cache_classes = true

# Full error reports are disabled and caching is turned on
config.consider_all_requests_local       = false
config.action_controller.perform_caching = true

# Disable Rails's static asset server (Apache or nginx will already do this)
config.serve_static_assets = false

# Compress JavaScripts and CSS
config.assets.compress = true

# Don't fallback to assets pipeline if a precompiled asset is missed
config.assets.compile = false

# Generate digests for assets URLs
config.assets.digest = true
抱歉,这是我第一次在rails中设置js。

2 个答案:

答案 0 :(得分:2)

尝试按如下方式加载它们(注意路径):

//= require_tree ../../../vendor/assets/javascripts

答案 1 :(得分:1)

如果您希望将hammer.js预编译为单独的文件,我应该更改config.assets.precompile中的config/environments/production.rb

config.assets.precompile += %w{ hammer.js }一样,您会看到public/assets/hammer.js