我有以下设置:
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";
Run Code Online (Sandbox Code Playgroud)
在我的各个部分中,我遇到了资产路径的真正问题.当application.css.scss清单内部或任何东西加载时,我可以使用:
.example { background-image: image-path("background.png"); }
Run Code Online (Sandbox Code Playgroud)
但是,当我使用部分时,例如我的_layout.css.scss部分,当我尝试相同的事情时,只是从编译文件中省略了background-image属性.似乎SCSS资产助手在部分内部不可用?
有没有人得到这个工作,我错过了一些明显的东西?或者是不可能在部分中使用资产助手?如果是这样,这是一个主要的主要问题,因为我的整个应用程序结构依赖于SCSS变量和部分之间共享的mixin.
我知道变量和mixin不在sprockets清单中共享,所以如果partials无法访问资产助手,那么我正在考虑必须将所有内容连接到一个scss文件中,这几乎违背了Sass和Sprockets的目的.
任何帮助将非常感谢!
ruby-on-rails sass ruby-on-rails-3.1 sprockets asset-pipeline
我的设置是相当简单的默认rails 3.2.1设置.我的所有.css.sass文件都在/app/assets/stylesheets/.我有sass-rails '~> 3.2.3'宝石:assets组.
没有application.css,只是main.css.sass(用于主要布局).
当我发出:
RAILS_ENV=production bundle exec rake assets:precompile
Run Code Online (Sandbox Code Playgroud)
它汇编了我的coffeescripts和javascripts.日志中没有错误消息.它就像它甚至没有尝试编译sass文件.
该main.css.sass文件标题是这样的:
//=depend_on "_globals.css.sass"
@import globals
Run Code Online (Sandbox Code Playgroud)
_glocals.css.sass存在于同一目录中.
这是我的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 vendor/assets/stylesheets of plugins, if any, can be referenced here using a relative path.
*
* You're free to add application-wide styles to this file and they'll appear at the top of the
* compiled file, but it's generally better to create a new file …Run Code Online (Sandbox Code Playgroud) 我正在使用Rails 3.2资产管道来提供我的资产(图片,javascript .css).
我已经为照片上传添加了回形针.默认情况下回形针存储文件public/system
当我使用url回形针生成的东西时
/system/users/avatar/000/000/thumb/whatever.jpg
Run Code Online (Sandbox Code Playgroud)
它没有给我任何路线错误.该文件在上述位置,但我认为它可能与资产pipleline有关.
什么想法可能会出错?
我的Rails应用程序都使用Twitter Bootstrap进行了美化,但我想我不知道如何将Bootstrap的响应行为添加到资产管道中.
目前,当我拉伸窗户时,它不会增长(或收缩,就此而言).
我在以下位置添加了视口元数据<head>:
<meta content='width=device-width, initial-scale=1.0' name='viewport'>
Run Code Online (Sandbox Code Playgroud)
但是,不太确定添加样式表的方式或位置:
<link href="assets/css/bootstrap-responsive.css" rel="stylesheet">
Run Code Online (Sandbox Code Playgroud) ruby-on-rails asset-pipeline responsive-design twitter-bootstrap
我有一个奇怪的错误 - 目录中的图像“403 Forbidden” public/images。但是来自嵌套目录的其他图像加载没有问题(ig from public/images/product)。我正在使用 Nginx + 乘客 + capistrano。在 production.rb 我有config.serve_static_assets = true. 也许资产管道出错?
我正在使用Rails 3.2.12.
我想在我的资产JavaScript文件中插入一个ruby代码:
function trim(string) {
return string.replace(/(^\s+)|(\s+$)/g, "");
}
function <%= controller_name %>() {
...
}
Run Code Online (Sandbox Code Playgroud)
我怎样才能做到这一点?
提前致谢.
我正在使用Rails 4应用程序.我在"vendor/assets/javascripts"中安装了一些JavaScript插件文件,在"app/assets/javascripts"中安装了一些JavaScript插件文件,其中有一些文件正在调用供应商文件中的方法.
没有识别出这些方法,似乎在"vendor/assets/javascripts"文件之前加载了"app/assets/javascripts"文件.我该怎么处理?
有关信息,我的"application.js"调用:
//= require jquery
//= require jquery_ujs
//= require turbolinks
//= require rails.validations
//= require_tree .
Run Code Online (Sandbox Code Playgroud)
和我使用gem 'jquery-rails'.
这已经发生在我身上多次了,我希望有人可以对以下错误提供一些见解:
Errno::EEXIST at / File exists @ dir_s_mkdir - tmp/cache/assets/sprockets/v3.0/Pd
这是相关的堆栈跟踪:
Errno::EEXIST - File exists @ dir_s_mkdir - /home/dev/keithgw-dev/code/myapp/tmp/cache/assets/sprockets/v3.0/Pd:
() opt/rubies/ruby-2.2.2/lib64/ruby/2.2.0/fileutils.rb:252:in `fu_mkdir'
() opt/rubies/ruby-2.2.2/lib64/ruby/2.2.0/fileutils.rb:226:in `block (2 levels) in mkdir_p'
() opt/rubies/ruby-2.2.2/lib64/ruby/2.2.0/fileutils.rb:224:in `block in mkdir_p'
() opt/rubies/ruby-2.2.2/lib64/ruby/2.2.0/fileutils.rb:210:in `mkdir_p'
sprockets (3.6.0) lib/sprockets/cache/file_store.rb:85:in `set'
sprockets (3.6.0) lib/sprockets/cache.rb:212:in `set'
sprockets (3.6.0) lib/sprockets/cache.rb:136:in `set'
sprockets (3.6.0) lib/sprockets/loader.rb:321:in `fetch_asset_from_dependency_cache'
sprockets (3.6.0) lib/sprockets/loader.rb:44:in `load'
sprockets (3.6.0) lib/sprockets/cached_environment.rb:20:in `block in initialize'
sprockets (3.6.0) lib/sprockets/cached_environment.rb:47:in `load'
sprockets (3.6.0) lib/sprockets/base.rb:66:in `find_asset'
sprockets (3.6.0) lib/sprockets/base.rb:73:in `find_all_linked_assets'
sprockets (3.6.0) lib/sprockets/manifest.rb:142:in `block in …Run Code Online (Sandbox Code Playgroud) 我需要在我的应用程序中安装一系列库,将它们保存在各自的文件夹中 /vendor/plugins/
例如,ckeditor 库:
/vendor/plugins/ckeditor//vendor/plugins/ckeditor/js/Chart.js/vendor/plugins/ckeditor/css/chart.min.css这样我就可以像这样导入到我的 application.scss 中:
*= require chart.min
Run Code Online (Sandbox Code Playgroud)
在我的 application.js 中是这样的:
//= require Chart.js
Run Code Online (Sandbox Code Playgroud)
当我尝试这样做时,rails 只访问文件夹/vendor/assets/plugins/插件,产生错误:
could not find file 'chart.min' with type 'text/css'
Run Code Online (Sandbox Code Playgroud)
如何让项目扫描所有供应商的子文件夹,直到找到我要导入的文件?
asset-pipeline ×10
javascript ×2
ruby ×2
sass ×2
sprockets ×2
assets ×1
compass-sass ×1
nginx ×1
paperclip ×1
vendor ×1