Tag: 链轮

在SCSS Partial中使用Rails 3.1资产路径

我有以下设置: app/assets/stylesheets/application.css.scss /* *= require_self *= require fancybox */ /* COLORS.. */ /* MIXINS… */ /* FONT STACKS… */ /* IMPORTS */ @import “reset”; @import “supergrid”; @import “rails”; @import “app”; @import “forms”; @import “layout”; 在我的各个部分中,我遇到了资产路径的真正问题。 当在application.css.scss或清单加载的任何内容时,我可以使用: .example { background-image: image-path(“background.png”); } 但是,当我使用partial,例如my _layout.css.scss partial时,当我尝试相同的东西时,只能从编译文件中省略background-image属性。 似乎SCSS资产助手在部分内部不可用? 有没有人得到这个工作,我错过了一些明显的东西? 或者是不可能在部分中使用资产助手? 如果是这样,这是一个主要的主要问题,因为我的整个应用程序结构依赖于SCSS变量和部分之间共享的mixin。 我知道变量和mixin不在sprockets清单中共享,所以如果partials无法访问资产助手,那么我正在考虑必须将所有内容连接到一个scss文件中,这几乎违背了Sass和Sprockets的目的。 任何帮助将非常感谢!

sprockets重复文件命名

我的资产路径中有以下文件: javascripts/abc.js templates/abc.js.mustache # this gets compiled to abc.js 当然,他们都会被要求作为assets/abc.js 有修复吗? 如果不是,需要修改Sprockets源的哪一部分? 我的想法是,如果引擎可以删除扩展,那么可以添加后缀。

如何在Rails 3.0.x中使用Sprockets 2

我正在尝试使用这些 要点让Sprockets 2.0beta与Rails 3.0.5应用程序一起使用,就像它在Rails 3.1中如何工作一样。 到目前为止彻底失败 – 我的应用程序正在找到正确的路由和文件,并加载扩展Sprockets :: Environment的初始化程序,但它没有在我的application.js中解析// = require’phu’行。 任何人都可以用Rails 3.0启发我的Sprockets 2吗?

覆盖生产环境中的后端资产

我正在研究一个需要改变Refinery的WYMEditor行为的项目。 这可以通过使用rake refinery:override jquery.refinery.wymeditor.js覆盖jquery.refinery.wymeditor.js来轻松完成rake refinery:override并根据自己的需要对其进行编辑,这在开发环境中工作正常。 但是,在生产方面,忽略了覆盖。 也就是说,编译后的资产只包含来自bundle的jquery.refinery.wymeditor.js ,并直接编辑该文件可能会产生预期的效果,但这不是它应该完成的方式。 奇怪的是,只有在试图覆盖与后端相关的资产时,问题显然才会显现出来。 知道我正在使用炼油厂边缘可能会有用。 任何帮助赞赏。

链轮sass部分erb扩展

我注意到使用最新的rails和链轮版本(3.2.1和2.2.0)时,如果将erb文件扩展名添加到sass partial中,则似乎存在问题。 例如,如果somestylefilename.css.sass重命名为somestylefilename.css.sass.erb,并且该文件包含使用erb的sass变量的声明,则: – : $ background-color:; 一切都好。 但是,如果将sass partial从_sharedpartial.css.sass重命名为_sharedpartial.css.sass.erb,则无法识别相同的变量声明。 我不确定这是否是报告此行为的正确论坛,或者它是否是sass,rails或链轮问题。 PS我知道资产管道通过预编译资产来实现效率,但我正在尝试编写一个能够为站点选择默认颜色/布局方案的theeme控制器,该站点随后会形成默认的预编译css资产。生产。 最好的祝福, 约翰利克

Rails 4资产管道失去供应商资产

我似乎无法弄清楚如何让链轮在vendor/assets找到vendor/assets 。 我一直在通过将我的所有资产添加到app/assets来解决问题,但它变得太杂乱了。 我已阅读文档,并尝试将以下所有行添加到application.rb文件中。 config.assets.paths << "#{Rails.root}/vendor/assets/*" config.assets.paths << "#{Rails.root}/vendor/assets/fonts" config.assets.paths << "#{Rails.root}/vendor/assets/stylesheets" config.assets.precompile << Proc.new { |path| if path =~ /\.(eot|svg|ttf|woff)\z/ true end 它们在本地工作,但是当我将它们推送到服务器时,我的供应商资产都没有。 我正在使用capistrano进行部署,我知道升级存在一些问题。 这可能是问题的根源,但我按照文档来部署(几乎)一切正常。

Rails资产管道:如何创建自定义清单文件

我试图从application.js单独创建一个自定义清单javascript文件。 我从application.js获取代码并将其粘贴到我称为“other_manifest.js”的新文件中,并放在assets / javascrips目录中。 这是代码: // This is a manifest file that’ll be compiled into application.js, which will include all the files // listed below. // // Any JavaScript/Coffee file within this directory, lib/assets/javascripts, vendor/assets/javascripts, // or vendor/assets/javascripts of plugins, if any, can be referenced here using a relative path. // // It’s not advisable […]

通过链轮动态渲染sass文件

我希望,从帮助器,在.scss.erb模板中渲染一些变量,使用image-url() sass函数: // template.scss.erb # { background-image: image-url(”); } 到目前为止,ERB部分很简单: (利用这个堆栈溢出答案 ) vars_binding = OpenStruct.new( id: ‘foo’, image_file: ‘foo.jpg’ ).instance_eval { binding } template = File.read(‘path/to/template.scss.erb’) rendered_sass = ERB.new(template).result(vars_binding) 运行该代码, sass现在等于: #foo { background-image: image-url(‘foo.jpg’); } 但是,当我下次尝试运行时: css = Sass::Engine.new( rendered_sass, syntax: :scss, cache: false, load_paths: view_context.assets.paths, read_cache: false, style: :compressed ).render 它回来了 NoMethodError: undefined […]

即使在重新启动服务器之后,Rails dev环境也不会更新html / css / assets

我一直在用铁轨开发一个网站,一切都比较顺利。 突然间,我对视图和资产的更改不再显示。 我更改样式表或某些HTML并在http://0.0.0.0:3000重新加载我的浏览器,没有任何变化。 所以我重新启动WEBrick仍然没有改变。 如果我完全改变图像,情况就是如此。 获得新更改的唯一方法是预编译资产: C:\Users\me\website>rake assets:precompile C:/Ruby193/bin/ruby.exe C:/Ruby193/bin/rake assets:precompile:all RAILS_ENV=production RAILS_GROUPS=assets 为什么将生产显示为RAILS_ENV? 也许我的开发环境不知何故变成了生产环境? 但即便如此,我也不需要预先编译资产来反映变化。 无论如何Rails.env.development? 返回true和Rails.env.production? 在控制器和erb文件中返回false 。 我试过删除我的/ tmp目录无济于事。 我必须将以下行添加到config / application.rb才能让Heroku使用指南针: config.assets.initialize_on_precompile = false 但是,删除该行无论如何都无助于我的问题。

require_tree参数必须是Rails 5升级应用程序中的目录

我刚刚将我的应用程序从Rails 4.2.7升级到Rails 5.0.0.1 。 我使用RailsDiff来确保我已经覆盖了所有内容,我相信我做到了。 到目前为止,一切都运行良好,直到加载我的应用程序。 现在我看到了这个错误: Sprockets::ArgumentError at / require_tree argument must be a directory 这是我的application.css : /* * This is a manifest file that’ll be compiled into application.css, which will include all the files * listed below. * * Any CSS and SCSS file within this directory, lib/assets/stylesheets, vendor/assets/stylesheets, * or any plugin’s […]