我正在使用Rails中的资产管道,但是jquery和jquery-ujs文件中的注释没有被删除.
它正在压缩每隔一个js和css文件.
有任何想法吗?
昨晚我觉得我做了一些能够改变轨道开发环境的东西,而且我无法扭转我所做的事情.
我将更新迁移到生产中,并且在预编译样式表时遇到一些问题,因此我退出了更改并决定在我的开发计算机上尝试预编译.
长话短说,预编译在我的开发机器(本地)上失败但是当我试图启动我的测试系统时我得到了这个错误:
Devise/sessions中的Sprockets :: CircularDependencyError #new
/app/assets/stylesheets/application.css已被要求
我确定这与我尝试的预编译有关,即使它失败了,因为在此之前一切正常.
我尝试进行预编译:清除因为我读到了某个会反转/删除预编译的地方.
我在这里错过了什么吗?预编译是否会更改我需要手动重置的配置文件?
这是在Ubuntu 11.10上运行的rails 3.1.
我将图像从公共/图像移动到资源/图像路径
我有图像:
<%= image_tag("login_logo.png", :id => "login_logo") %>
Run Code Online (Sandbox Code Playgroud)
我将它从公共文件夹移动到资产并更改了路径.
它是可见的并且工作正常,但我在控制台中出错:
Started GET "/assets/logo_PG.png" for 127.0.0.1 at 2012-10-10 23:42:53 +0300
Served asset /logo_PG.png - 304 Not Modified (0ms)
ActionController::RoutingError (No route matches [GET] "/images/login_logo.png")
Run Code Online (Sandbox Code Playgroud)
我怎么解决这个问题?
我有一个rails应用程序,当我尝试运行时遇到一个奇怪的错误rake assets:precompile.它看起来像这样:
rake aborted!
Invalid US-ASCII character "\xE2"
(in /Users/lee/Code/draper/app/assets/stylesheets/application.css.scss)
(sass):9
Run Code Online (Sandbox Code Playgroud)
我不确定无效字符可能会进入我的代码中.我正在使用Twitter Bootstrap(boostrap-sass gem),我的bootstrap_and_overrides.css.scss文件似乎是罪魁祸首.我已经尝试在文本配合中从头开始重新创建这个文件,以获取任何奇怪的角色,但这不起作用.唯一似乎有用的是将它添加到我的顶部bootstrap_and_overrides.css.scss:
@charset "UTF-8";
Run Code Online (Sandbox Code Playgroud)
这允许我运行rake资产:预编译然后部署到Heroku,但这似乎是一个黑客和一个肮脏的修复.我可以将其他应用程序部署到使用bootstrap-sass的Heroku,并且Heroku能够运行rake资产:部署时预编译.现在,绕过它的唯一方法是在部署到Heroku之前包含@charset "UTF-8";然后在rake assets:precompile本地运行,以便在部署期间跳过该步骤.
我无法弄清楚我在哪里出错了.
ruby-on-rails sass character-encoding asset-pipeline twitter-bootstrap
我有这个文件app/assets/stylesheets/config.rb,其中包含以下内容:
http_path = "/"
css_dir = "."
sass_dir = "."
images_dir = "img"
javascripts_dir = "js"
output_style = :compressed
relative_assets=true
line_comments = false
Run Code Online (Sandbox Code Playgroud)
这是为了什么?
试图理解有关rails的一些事情:
我过去成功地使用rake-pipeline和rake-pipeline-web-filters作为我的前端项目.
最近,使用rails后端,我的前端资产正在使用Rails Asset管道生成.我认为它们都很相似但是我没有在脑海中对齐它如何映射到资源文件在rake管道中做事的方式.
所以,问题:
Rake Pipeline是Rails Asset管道的替代品吗?如果是,为什么以及这两种解决方案的历史和优点/缺点是什么?如果没有,它们如何相关?
使用Rake管道,您可以添加优秀的rake-pipeline-web-filters来获得所有连接,缩小,预处理,如scss,minispade等.使用Asset Pipeline,似乎很难配置.一个直接的限制是我的所有JS都立即被评估,我在Assset Pipeline中不支持minispade.替代方案是minispade-rails gem.
一般来说,我试图了解如何在Rails Asset管道中使用rake管道Assetfile获得类似的构建过程.
有人可以澄清这两个构建过程以及如何一般地考虑它们吗?
由于Laravel 的Asset Pipeline包不允许您有条件地向页面添加脚本/样式表,这样做的最佳方法是什么?
我有一个JavaScript文件,它是一组连接在一起的文件,包含在每个页面上,为我们提供了一个库文件.我现在需要做的是为某些页面添加另一个JavaScript文件(所有页面都使用相同的模板).
我目前的计划是扩展BaseController添加一系列脚本/样式,如果有任何项目,可以动态附加到模板.但肯定有一种更好的方式是Asset Pipeline包的一部分吗?
我bootstrap-sass在我的Rails 4应用程序中使用了gem,我使用了Glpyphicons字体,它包含了我的应用程序中的图标引导程序.在开发过程中,这些图标显示得很好.但是,在任何非开发环境中,每次对Glyphicon字体文件的引用都会出现404错误.
我已经确定这是由于资产管道打破了Bootstrap样式表中的引用所做的指纹识别.
Bootstrap引用这些字体:
@font-face {
font-family: 'Glyphicons Halflings';
src: url("bootstrap/glyphicons-halflings-regular.eot");
src: url("bootstrap/glyphicons-halflings-regular.eot?#iefix") format("embedded-opentype"), url("bootstrap/glyphicons-halflings-regular.woff") format("woff"), url("bootstrap/glyphicons-halflings-regular.ttf") format("truetype"), url("bootstrap/glyphicons-halflings-regular.svg#glyphicons_halflingsregular") format("svg");
}
Run Code Online (Sandbox Code Playgroud)
但是,快速ls的bootstrap文件夹显示名称不同.
glyphicons-halflings-regular-293ade90ddeb5ceccd08b9b32ae97010.eot
glyphicons-halflings-regular-533d84fb5d3948367e1b51dde3a08b39.svg
glyphicons-halflings-regular-d381f367f3f48c9f7f775a043238f0f8.ttf
glyphicons-halflings-regular-e5b007f195d752fa4823febe5e66ef4e.woff
Run Code Online (Sandbox Code Playgroud)
如您所见,每个文件都附加了指纹.
删除这些指纹可以解决问题.但是,手动执行此操作并不适合部署.有没有人有这方面的解决方案?bootstrap-sass如果可以帮助我,我想避免编辑gem代码.
谢谢!
asset-pipeline bootstrap-sass ruby-on-rails-4 asset-finger-printing precompile-assets
我有一个Article模型,有一个字段svg_path.
我fabricjs用来画一个可以包含多篇文章的画布,并且可以修改.
我目前所做的是生成一个json包含文章所需的所有字段,包括svg_path.
当我尝试在我的模型或控制器中使用asset_path帮助程序(http://api.rubyonrails.org/classes/ActionView/Helpers/AssetUrlHelper.html#method-i-asset_path)时Article,它将始终只返回没有摘要的路径,适用于开发环境但不适用于生产环境.在那里我包括这样的帮助:
include ActionView::Helpers::AssetUrlHelper
asset_path(svg_path)
Run Code Online (Sandbox Code Playgroud)
如果我在视图中调用此帮助程序,它将生成包括摘要哈希的正确路径.
如何在json对象中获得正确的路径?
例如,我想datepicker在我的rails应用程序中添加功能.我有这两个选项,也就是说,我可以安装 bootstrap-datepicker rails gem或下载 datepicker文件并包含在我的项目中.对于安全性和编译/页面加载速度,哪种方法更好?
javascript ruby-on-rails datepicker asset-pipeline twitter-bootstrap
asset-pipeline ×10
assets ×1
datepicker ×1
fabricjs ×1
image ×1
javascript ×1
laravel-4 ×1
precompile ×1
sass ×1