标签: asset-pipeline

在Rails 3.1 Asset Pipeline中放置Galleria(jQuery图库框架)的位置?

关于在Rails 3.1的新资产管道中放置像Galleria这样的jQuery框架,我有点困惑?

从技术上讲,我知道它应该进入/vendors/assets/javascripts 但是,我的理解是,Galleria带有jQuery和主题的文件夹想要/galleria在实时站点的root()中才能正常工作.

此外,当我们在它的时候,在哪里放置以下脚本,以便它只出现在带有图库的页面上?

<script>
    $('#gallery').galleria({
        width:500,
        height:500
    });
</script>
Run Code Online (Sandbox Code Playgroud)

编辑:惊讶没有回应!?!也许Galleria不那么受欢迎?这些是我正在尝试加载的文件.虽然我可以很容易地移动它们,但它们是这样捆绑的:

vendor/
  assets/
    javascripts/
      galleria-1.2.5.js
      galleria-1.2.5.min.js
    galleria/
      themes/
        classic/
          classic-loader.gif
          classic-map.png
          galleria.classic.css
          galleria.classic.js
          galleria.classic.min.js
Run Code Online (Sandbox Code Playgroud)

我以为Sprockets require_tree .会加载所有内容app/assets,lib/assets并且vendor/assets?!?

ruby-on-rails galleria ruby-on-rails-3.1 sprockets asset-pipeline

12
推荐指数
2
解决办法
3881
查看次数

Rails 3资产添加?body = 1

如果我查看源代码,则会向所有资产(css和js)添加一个?body = 1

<script src="/assets/jquery.livequery.js?body=1" type="text/javascript"></script>
Run Code Online (Sandbox Code Playgroud)

它是什么?为什么?

ruby-on-rails-3 asset-pipeline

12
推荐指数
1
解决办法
3194
查看次数

Rails:包含外部JavaScript

我想使用JavaScript库,如jQuery插件.我是否使用Rails资产管道?或者我应该用javascript_include_tag包含它?我有什么选择,推荐的做法是什么?

javascript ruby-on-rails ruby-on-rails-3 asset-pipeline

12
推荐指数
1
解决办法
2万
查看次数

Ember.js,Express.js和Node.js的资产管道?

我正在使用Express.js作为后端构建一个Ember.js应用程序.现在,我单独加载所有*.js文件并将我的Handlebars模板存储在我的HTML文件中.我想用一个类似于Rails中的完整"资产管道"替换.在一个完美的世界中,这将支持:

  • 将CoffeeScript转换为JavaScript.
  • 使用Ember.js扩展预编译Handlebars模板.
  • 连接和缩小JavaScript和CSS(仅限生产).

我简要介绍了Require.js,connect-assets和convoy.前两个似乎没有提供任何简单的方法来预编译Handlebars模板,而Ember护航集成基于Ember的过时版本.

ember-runner还没有更新一段时间.grunt-ember-templates看起来是将Ember模板编译为单个*.js文件的合理方式,因此可能是更大解决方案的构建块.

是否有任何与Ember.js一起使用的Node.js资产编译系统?我很想有一个Node.js的等效烬护栏.

assets node.js express asset-pipeline ember.js

12
推荐指数
2
解决办法
7107
查看次数

在亚马逊EC2上使用capistrano进行生产时,资产不会预编译

我致力于使用capistrano部署到生产.我面临几个问题,在修复大部分问题的同时,我们还有最后一个问题.

我们的预编译资产选项没有在生产中正确编译它们,因此,我们无法使用最后开发的功能,因为它们严重依赖JS.

不试图影响任何人如何分析这个问题,这是我尝试使它工作的一些方法:

  1. 本地预编译资产,推送到github repo,从本地机器部署到ec2.cap deploy是本地的,推送到ec2的代码是github上的代码.
  2. 尝试使用capistrano任务建议.在Capfile中使用load'debloy'assets'并让cap deploy:setup任务完成它.
  3. 使用选项cap deploy:assets:clean然后cap deploy:assets:precompile
  4. 尝试从公共中删除资产,然后在deploy.rb中使用pipeline_precompile任务
  5. 过期的资产,强制rails预编译在application.rb中更改assets.versions的所有内容
  6. 尝试在environment/production.rb中的config.assets上尝试不同的组合
  7. 最后,尝试删除生产中的公共/资产并使用RAILS_ENV =生产包exec rake资产进行预编译:预编译

该应用程序只是没有使用新的JS文件.如果您在repo或服务器本身检查代码,我在name.js.coffee中引入了一个简单的注释("显示和隐藏菜单,具体取决于数据库上的数据",这是在xxx行),这不是生产中编译的assets.js.这是一个快速测试,以确保最近的资产被使用.

这里的整个问题是js和css文件,而不是rails.这就是为什么它如此难以测试或找到..因此最近js框架普及的原因之一.如果出现问题,你不必自杀,寻找问题所在.如果问题是红宝石或铁轨,通常不需要那么长时间才能发现.一旦你获得js,css和跨浏览器兼容性,那么这就是手头的问题.

这是我的deploy.rb文件.运行轨道3.2.12 ruby​​-1.9.3-p327:

# $:.unshift(File.expand_path('./lib', ENV['rvm_path']))

# Load rvm's capistrono plugins
require 'rvm/capistrano'

require 'bundler/capistrano'

set :rvm_type, :user

set :user, 'username'
set :domain, 'ip_address'
set :application, "app_pro"
set :keep_releases, 2 # It keeps on two old releases.

# git repo details
set :scm, :git # You can set :scm explicitly or Capistrano will make an intelligent guess based on known version control …
Run Code Online (Sandbox Code Playgroud)

deployment capistrano ruby-on-rails amazon-ec2 asset-pipeline

12
推荐指数
2
解决办法
3万
查看次数

rake assets:预编译未定义的方法目录?为零:NilClass

在尝试创建资产时:为生产网站预编译我第一次遇到此错误.

 rake assets:precompile undefined method directory? for nil:NilClass
Run Code Online (Sandbox Code Playgroud)

我已经成功更新了网站并完成了一项资产:之前多次预编译.

完整的例子:

# RAILS_ENV=production rake assets:precompile --trace                        
/usr/local/rvm/gems/ruby-1.9.2-p290@pm/gems/rack-1.3.4/lib/rack/backports/uri/common_192.rb:53: warning: already initialized constant WFKV_
** Invoke assets:precompile (first_time)
** Execute assets:precompile
/usr/local/rvm/gems/ruby-1.9.2-p290@pm/gems/rack-1.3.4/lib/rack/backports/uri/common_192.rb:53: warning: already initialized constant WFKV_
rake aborted!
undefined method `directory?' for nil:NilClass

Tasks: TOP => assets:precompile
(See full trace by running task with --trace)
Run Code Online (Sandbox Code Playgroud)

我期待着有人对这一点有所了解,我一直在绞尽脑汁,谷歌搜索答案数小时.

rake ruby-on-rails-3 asset-pipeline

11
推荐指数
2
解决办法
4131
查看次数

ActionView :: Template :: Error(未预编译):在heroku雪松上

更新:

事实证明,有时results.image是零或"",所以这打破了应用程序,因为资产管道正在寻找像""这样的图像而没有找到它.现在我没有显示图像,如果没有图像,但我将不得不为缺失的图像添加默认图像......这应该是一个更永久的修复.


关于heroku cedar和Rails资产管道这个问题,我有很多问题,我尝试了很多解决方案,但是没有一个能够解决,而且可能是因为我遇到的问题有一个皱纹我没见过其他地方.

我的应用程序使用Rails 3.2.6,我已经将它部署在Heroku的雪松堆栈上.这是一个基本的搜索应用程序,通过websolr搜索附加的postgres数据库,所以当你加载索引(索引#index)而没有params [:q] .present?你有一个搜索框,这很好用.但是当我在搜索框中输入内容并点击提交,并且索引#index再次加载但这次尝试显示结果时,我得到:

app[web.1]: Completed 500 Internal Server Error in 440ms
app[web.1]: 
app[web.1]: ActionView::Template::Error ( isn't precompiled):
app[web.1]:     12:         - @results.each do |result|
app[web.1]:     13:           %li
app[web.1]:     14:             %div
app[web.1]:     15:               = image_tag result.image
app[web.1]:     16:             %div
app[web.1]:     17:               = result.title
app[web.1]:     18:             %div
app[web.1]:   app/views/index/index.html.haml:15:in `block in _app_views_index_index_html_haml___4350601325072829986_32734540'
app[web.1]:   app/views/index/index.html.haml:12:in   _app_views_index_index_html_haml___4350601325072829986_32734540'
Run Code Online (Sandbox Code Playgroud)

关于我的具体案例和我见过的其他人有什么奇怪的是以下几行:

ActionView::Template::Error ( isn't precompiled):
Run Code Online (Sandbox Code Playgroud)

对于我所见过的所有其他问题,括号中有一个css文件,即("foo.css"未预编译),或者在我看来它应该是("index.css")没有预编译).但这里只是空白!

这是我试图开始工作的暂存部署,所以我尝试运行RAILS_ENV =暂存rake资产:precompile(然后提交结果),但这并没有解决它.我甚至尝试在视图中删除(注意那里没有任何实际的样式).什么都行不通,我很茫然.任何帮助将不胜感激.

作为参考,这是我的gemfile:

source 'https://rubygems.org'

gem 'rails', '3.2.6'
gem 'pg'
gem 'haml-rails'
gem 'mongoid'
gem 'sunspot_rails', '~> …
Run Code Online (Sandbox Code Playgroud)

ruby-on-rails heroku asset-pipeline

11
推荐指数
1
解决办法
7746
查看次数

Rails没有缩小

我正在开发一个不会在生产中缩小CSS或JS的项目.

不幸的是,我从来没有遇到过这个问题,而且我对资产​​管道如何详细调试问题并不熟悉.

我的问题是,我需要检查哪些要点/设置以确保启用?

它正确地将不同的文件组合成一个JS和CSS文件......它只是没有缩小.

到目前为止,我已经添加config.assets.js_compressor = :uglifierproduction.rb,并uglifierGemfile,但仍然没有骰子.

我正在使用从Rails 3.2.12升级的Rails2

ruby ruby-on-rails-3 asset-pipeline ruby-on-rails-3.2

11
推荐指数
1
解决办法
8421
查看次数

从rails中的特定URL提供静态文件

假设我有一个文件"example.txt",它位于我的Rails应用程序中的assets/files文件夹中.在制作时,我可以通过网址'/assets/example.txt'访问此文件

如何设置我的routes.rb文件,以便在访问'example.txt'时可以访问example.txt的内容?

routes ruby-on-rails file asset-pipeline

11
推荐指数
1
解决办法
6525
查看次数

如何使用Grails asset-pipeline插件对JS和CSS进行分组?

我目前正在使用Grails 资源插件,我有许多像这样定义的模块:

bootstrap {
    resource url:'js/libs/bootstrap/bootstrap.min.js'
    resource url:'css/libs/bootstrap/bootstrap-responsive.css'
    resource url:'css/libs/bootstrap/bootstrap-glyphicons.css'
    resource url:'css/libs/bootstrap/bootstrap.min.css'
}
Run Code Online (Sandbox Code Playgroud)

这非常方便,因为它将Javascript和CSS文件组合在一起形成一个概念性的Bootstrap模块.

我现在正在研究资产管道插件,看来文件只能require是同一类型的其他文件,这意味着我现在有两棵依赖树(CSS&JS)而不是一棵,这是一个问题,因为存在相互依赖性,例如,bootstrap.js取决于bootstrap.css.

asset-pipeline插件是否允许声明类型间依赖关系?如果没有,处理这个问题的最佳方法是什么?

grails asset-pipeline

11
推荐指数
1
解决办法
1148
查看次数