标签: asset-pipeline

wicked_pdf + rails'资产管道+生产中的sass导入

我在开发中成功使用wicked_pdf和SASS.我包括一个单一的.scss文件,其中包含一些import其他的规则.sass.scss文件,通过这个帮手:

def wicked_pdf_stylesheet_link_tag(*sources)
  sources.collect { |source|
    "<style type='text/css'>#{Rails.application.assets.find_asset("#{source}.css").body}</style>"
  }.join("\n").gsub(/url\(['"](.+)['"]\)(.+)/,%[url("#{wicked_pdf_image_location("\\1")}")\\2]).html_safe
end
Run Code Online (Sandbox Code Playgroud)

但是切换到生产应用程序仍然会查找未找到的导入文件.

我已经添加了第二个清单文件,要在production.rb(config.assets.precompile += %w(pdf.css))中进行预编译,其中包含一个require用于获取上述.scss文件的规则.这个文件编译得很好,但似乎帮助程序没有在生产中选择正确的文件,仍然看起来加载导入的.sass文件.

有谁有经验如何解决这个问题?PDF创建需要绝对路径,这使得此任务更加困难.

production sass ruby-on-rails-3.1 asset-pipeline wicked-pdf

5
推荐指数
1
解决办法
4973
查看次数

如何在rails中关闭开发模式下的资产日志记录?

我试过了:

config.assets.logger = nil
Run Code Online (Sandbox Code Playgroud)

config.assets.logger = false
Run Code Online (Sandbox Code Playgroud)

任何线索如何让那些讨厌的日志出来?

ruby-on-rails asset-pipeline

5
推荐指数
1
解决办法
3445
查看次数

Rails/Assets管道:动态列出清单中包含的资产

几个月来我成功使用资产管道.现在我想异步加载一些我的JS文件(使用yepnope库).当它运作良好,config.assets.debugfalse.

但是在开发模式(config.assets.debug通常在哪里true),对我来说最好的选择是动态获取我的清单中包含的所有js文件的列表(我有2个清单:application.js和externals.js),以便将它们提供给yepnope异步加载.

有没有想过这样做?

ruby-on-rails yepnope sprockets asset-pipeline

5
推荐指数
1
解决办法
1922
查看次数

> = Rails 3.1如何在资产管道中包含IE特定的YAML-CSS文件

如何包含Yaml-CSS套装的iehacks.css?yaml文档指向类似于此条件语句的内容.

<!--[if lte IE 7]>         
<link rel="stylesheet" href="stylesheets/yaml/core/iehacks.css" type="text/css"/>
<![endif]--> 
Run Code Online (Sandbox Code Playgroud)

我如何在我的Rails 3.1 ++应用程序中包含该css文件(依赖于IE或非IE;)并考虑到新的rails pipelining功能?

css ruby-on-rails conditional-statements asset-pipeline yaml-css

5
推荐指数
1
解决办法
377
查看次数

无法在Rails公用文件夹中创建符号链接

在我的Rails应用程序中,我想创建一个符号public/链接到另一个文件夹的链接.我可以创建符号链接并浏览它,但我似乎无法让Rails从中提供图像.有诀窍吗?它甚至可能吗?

我有一个包含数千个PNG的文件夹,我不想只是进入资产管道.如果有的话,他们很少会改变,所以管道在很大程 思考?

lrwxr-xr-x  1 meltemi  staff   pages -> /Volumes/BigDisk/pages_root
Run Code Online (Sandbox Code Playgroud)

但当我试图击中时,localhost:3000/pages/F-C2E-439_00002_1.png我得到:

Routing Error

No route matches [GET] "/pages/F-C2E-439_00002_1.png"
Run Code Online (Sandbox Code Playgroud)

symlink assets ruby-on-rails ruby-on-rails-3 asset-pipeline

5
推荐指数
1
解决办法
844
查看次数

在Rails引擎中使用另一个gem的javascript

我正在尝试创建一个rails引擎,它将使用我添加到引擎的gem依赖项中的javascript.但是当我在我的application.js中为我的引擎添加以下行时,我一直得到"找不到文件'fullcalendar'":

//= require fullcalendar
Run Code Online (Sandbox Code Playgroud)

这一行正在将javascript从gem依赖项加载到rails引擎中.

当gem安装在普通的rails应用程序(不是引擎)上时,这条线也可以工作.我在这里错过了什么?引擎可以从另一个引擎/ gem加载javascript吗?

更新: 研究我自己的问题可能是链轮只在引擎内查找javascript.gem依赖项安装在父应用程序的供应商/缓存中而不是引擎因此//要求fullcalendar失败,因为它在引擎内查找并且fullcalendar的javascript在父应用程序中.

令我困惑的是,如果我明确地在父应用程序gemfile中包含fullcalendar,那么我可以在引擎中访问它.这对我来说没有意义.在这两种情况下,完整的日历宝石javascript都在父应用程序中,但行为是不同的.在两个地方包括宝石对我来说是不合适的,似乎不是一个合适的解决方案.有什么想法吗?

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

5
推荐指数
1
解决办法
1188
查看次数

使用资产管道优化rails app到多个服务器的部署

我正在多服务器环境中部署rails应用程序.该应用程序使用资产管道,资产从s3提供.如果我在我部署的每台服务器上运行资产:预编译,一切正常(在每个盒子上生成所需的assets/manifest.yml).

问题是这种效率非常低.我尝试将其中一个服务器指定为主服务器,并且仅运行资产:在该框上预编译.现在的问题是其他服务器没有assets/manifest.yml的副本.

认为解决方案将涉及找出在所有框上共享生成的assets/manifest.yml文件的最简单方法.

其他人如何处理这种情况?

谢谢你的帮助.

ruby deployment capistrano ruby-on-rails asset-pipeline

5
推荐指数
1
解决办法
1366
查看次数

Rails4,CKEditor gem,预编译资产:Uncaught [CKEDITOR.resourceManager.load]资源名称"Default"未找到

我正试图将生产模式放到一个网站上.出于某种原因,我不得不使用预编译资产,我使用过:

RAILS_ENV=production bundle exec rake assets:precompile
Run Code Online (Sandbox Code Playgroud)

(原因是我使用mod_passenger,没有预编译资产我无法正常工作).

一切都很好,但不是CKEditor.我使用galetahub/ckeditor gem.它在开发思想中工作正常,但在生产中我有以下错误:

 Uncaught [CKEDITOR.resourceManager.load] Resource Name "Default" was not found at "[...]/assets/ckeditor/styles.js?t=D6IE
Run Code Online (Sandbox Code Playgroud)

在编辑的位置,我......没什么.

我已经尝试过在那里找到一些解决方案,比如添加:

//= require ckeditor/override
Run Code Online (Sandbox Code Playgroud)

但有了这个我无法预编译资产,它给我一个"ckeditor/override not found"错误.

我也尝试定义CKEDITOR_BASEPATH,它改变了......没什么.

.js的路径似乎很好,除了在ckeditor存储库中我没有名为styles.js,但我想资产管道重定向它?

谢谢你的帮助,我不在乎.

ruby-on-rails ckeditor asset-pipeline

5
推荐指数
0
解决办法
1247
查看次数

如何使用Rails 4 Pipeline的Galleria插件

我最近在使用Rails 4 Pipeline制作Galleria插件时遇到了麻烦,我花了一些时间来弄清楚如何使它工作,所以我想分享解决方案以防有人遇到类似的问题.

1)下载插件后,将galleria-1.3.3.js(它是我写的当天版本)和galleria.classic.js(或其他样式的js文件)放到vendor/assets/javascripts

2)把galleria.classic.css(或其他主题样式表)放到vendor/assets/stylesheets

3)添加//= require galleria-1.3.3//= require galleria.classic你的application.js文件,并*= require galleria.classicapplication.css文件

4)资产管道为图像添加了指纹,这使得很难通过常规的CSS访问它们,所以需要在你的galleria样式表中添加'scss',就像这样,galleria.classic.css.scssurl(classic-map.png)改为asset_url("classic-map.png");和第二个图像一样.

5)打开galleria.classic.js文件并找到css:"galleria.classic.css"那样的东西,并将其更改为css: false

6)现在你只需要为Galleria.run('#galleria'); 某些js文件中的其他元素添加或不同的东西`这应该工作:)

PS我是Rails中的菜鸟,可能会犯一些愚蠢的错误,但我希望这对任何人都有帮助:)

ruby-on-rails galleria fingerprint asset-pipeline

5
推荐指数
1
解决办法
763
查看次数

Rails 4 app - 放置自定义jQuery插件的位置以及如何包含它们

我正在尝试将Raty添加到我的rails 4应用程序,但我想知道我需要把它放在哪里.我假设lib文件夹只需要放入这个路径?

供应商/资产/ JavaScript的

然后使用我刚<%= javascript_include_tag 'vendor/assets/javascripts/jquery.raty' %>在我的文件中执行的脚本?我希望能够在多个页面上使用它.另外,我可以在.erb文件中使用脚本还是仅使用常规html?完全是新的,所以任何帮助表示赞赏,谢谢.

plugins ruby-on-rails asset-pipeline ruby-on-rails-4

5
推荐指数
2
解决办法
5033
查看次数