标签: asset-pipeline

Rails 3.1资产管道没有缩小

我将我的应用程序升级到rails31 ..一切正常,但我有资产管道的问题.即时通讯使用rails3.1.rc5

我的js和我的css合并但没有缩小..我使用:

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

预编译资产..

我在production.rb中有这些设置

config.assets.compress = true
config.assets.js_compressor  = :uglifier
config.assets.css_compressor = :scss
Run Code Online (Sandbox Code Playgroud)

合并文件并获取名称中的md5,但它们不会缩小.

任何帮助,将不胜感激

ruby ruby-on-rails ruby-on-rails-3.1 asset-pipeline

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

Rails 3.1上的Capistrano部署/资产失败

我将此行添加load 'deploy/assets'到我的Capfile中以使用Rails 3.1部署资产.

Capistrano走到了这条路线

* executing "cd /home/deploy/armonia/stage/releases/20110928021521 && bundle exec rake RAILS_ENV=stage RAILS_GROUPS=assets assets:precompile"

然后失败了

Could not find multi_json-1.0.3 in any of the sources这很奇怪,因为我bundle show multi_json在部署服务器上运行时发现了gem .

是什么导致这个?

capistrano ruby-on-rails-3.1 asset-pipeline

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

在Rails中使用config.assets.precompile在子目录中包含资源

我在Heroku上运行了一个Rails 3.1.3应用程序,利用S3进行资产托管asset_sync.我的app/assets/css目录中包含一个包含两个文件的子目录:main.css.scsscategories.css.scss.我的内容如下production.rb:

config.assets.precompile += [ 'admin/main.css.scss', 'admin/categories.css.scss', 'print.css', 'products.css.scss', 'services.css.scss' ]

当我推送到Heroku时,我的所有资产都被预编译并上传,但这两个文件除外.我是否需要执行某种黑魔法来包含这两个文件?

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

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

application.css资产管道

我在Rails 3.2.8上,我想切换到使用资产管道.

我在我的开发机器上,我的资产设置如下 app/assets/stylesheets/application.css:

  ...    
  *= require_directory ../public/javascripts/jquery/themes/base
  *= require_directory ../public/prototype/stylesheets/css
*/
Run Code Online (Sandbox Code Playgroud)

我的所有样式表和js和图像都在公共文件夹中,这是现在的一个包罗万象.文件夹结构:

app/assets
  /stylesheets
    /application.css
  /javascripts
  /images
  /public
    /stylesheets
    /javascripts
    /prototype
    /images
Run Code Online (Sandbox Code Playgroud)

目前该public/assets/application.css文件为空.如何在开发环境中编译此文件?

当我Rails.application.config.assets.paths在rails控制台中运行时,我得到的app/assets/public不是资产的完整目录路径.

在视图中,我调用资产管道样式表: <%= stylesheet_link_tag 'application.css' %>

编辑1:我尝试将所有样式表移动到app/assets/stylesheets/但是它没有在视图中正确编译application.css.它汇总到这个:

<link href="/assets/application.css" media="screen" rel="stylesheet" type="text/css" />

当我查看链接时,localhost:3000/assets/application.css它是一个空白文件.

编辑2:我使用单引号而不是双引号来修复语法错误.我想我现在已经找到了路径.谢谢!

ruby-on-rails asset-pipeline

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

在Rails中,如何将资产管道中的样式表作为<style>标记包含在内?

每个人都知道如何使用stylesheet_link_tag链接到一个样式表,但我想其实是包括在页面本身的整个样式表.(不,这通常不是一个很好的做法,但在这种情况下它是有道理的.)

stylesheet_include_tag 并不存在,并且在Rails中比一个更大的坏人的同事比我说的没有一个简单的方法.

问题:
实际上是否可以使用资产管道仍然将CSS或JavaScript文件(从Sass或CoffeeScript编译!)的内容嵌入到.haml视图中?怎么样?


为清晰起见添加:

我希望我的布局能够包含以下内容:

= stylesheet_link_tag "base"
= stylesheet_embed_tag "page-specific-styles/foo"
Run Code Online (Sandbox Code Playgroud)

并按照这些行生成输出HTML:

<link rel="stylesheet" href="/base.css" />
<style type="text/css">.foo { color: red; }</style>
Run Code Online (Sandbox Code Playgroud)

更新

如果正确设置了initalizer,可以在Haml中使用Sass ,但我似乎无法@import "foo"从这个上下文foo.css.sass中看到资产管道中的样式表.请注意@import "compass"(假设您有罗盘宝石)确实有效.

这看起来像(haml):

%style
  :sass
    @import "foo"
Run Code Online (Sandbox Code Playgroud)

Rails给出了一个错误,即"foo"无法找到,即使它声称正在寻找app/assets/stylesheets(这就是foo.css.sass生命的地方).

所以,这感觉更接近,但仍然不完全.

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

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

Rails 4 - 资产管道路径是'images/file.jpg'而不是'assets/file.jpg'

我一直在与Rails 4进行战斗,试图让它获取我的资产并创建正确的链接.通常,服务器重新启动和硬刷新的组合将使URL正确地通过,但并非总是如此. tmp:clear并且assetpipeline:clobber也不适合我.

问题在于image_path方法.我目前在自定义Form对象中,所以我这样做了:

class WalletForm
  include ActionView::Helpers::AssetUrlHelper

  def give_me_path
    image_path("logo.jpg")
  end
end
Run Code Online (Sandbox Code Playgroud)

image_path在开发和测试模式下给了我"images/logo.jpg".这应该是"assets/logo.jpg".我在过去已经注意到当rails无法找到图像时,它将使用images/logo.jpg而不是资产.我猜这是因为你把它放在管道之外的public/images文件夹中.但该文件确实存在app/assets/images,并且位于正确的位置.(我已经复制并粘贴了文件名,我也尝试重命名该文件.我重新启动了Web服务器,重新启动了pow)我甚至预先编译了资产,RAILS_ENV=test试图验证我的徽标是否被管道拾取, 假设

我不确定还有什么可以研究的.有什么建议?

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

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

Capistrano部署 - 资产预编译错误

我正在与Capistrano一起部署到我的新VPS.在第一次部署(上限部署)之后,一切正常(站点正在运行),但第二次部署在资产上失败:预编译错误.

我正在运行rails 3.2.13,ruby 2.0.0,rvm.

错误:

  * executing "cd -- /home/rails/releases/20140116121250 && RAILS_ENV=production RAILS_GROUPS=assets bundle exec rake assets:precompile"
servers: ["IP"]
    [IP] executing command
*** [err :: IP] bash: line 1: 23406 Killed          RAILS_ENV=production RAILS_GROUPS=assets bundle exec rake assets:precompile
    command finished in 84187ms
*** [deploy:update_code] rolling back
  * executing "rm -rf /home/rails/releases/20140116121250; true"
    servers: ["IP"]
    [IP] executing command
    command finished in 519ms
failed: "rvm_path=/usr/local/rvm /usr/local/rvm/bin/rvm-shell 'default' -c 'cd -- /home/rails/releases/20140116121250 && RAILS_ENV=production RAILS_GROUPS=assets bundle exec rake assets:precompile'" on IP
Run Code Online (Sandbox Code Playgroud)

deploy.rb文件:

set :application, …
Run Code Online (Sandbox Code Playgroud)

deployment capistrano ruby-on-rails asset-pipeline ruby-on-rails-3.2

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

更新破解Sass框架 - 不兼容的单位:'px'和'em'

似乎已经更新了一些破坏指南针或橡皮糖的东西.它几天前工作得很好,直到我更新了我的宝石和宝石文件.现在即使回到早期的gemfile,它仍然给我错误.

我在这里开了一个详细的问题,详细介绍了如何在这里重新创建它

有谁知道我可以调试这个问题的更好方法?我实际上无法移动它或做任何事情.

怀疑的代码行

从完整的堆栈跟踪中我可以看到错误来自罗盘中的这条线,它似乎从Gumby的这条线获得变量

最小代码量

重现错误所需的最小代码量是Gumby的安装,它已安装在这里的项目中,我的gemfile包含rails 4.0.

的Gemfile:

source 'https://rubygems.org'

gem 'rails', '4.0.2'

gem 'jquery-rails'
gem 'jquery-ui-rails'
gem 'turbolinks'
gem 'sass-rails'
gem 'coffee-rails', '~> 4.0.0'
gem 'uglifier', '>= 1.3.0'
gem 'compass-rails'

gem 'modular-scale'
gem "slim-rails"

gem 'sqlite3'

gem "mini_magick"
gem 'carrierwave'

gem "fog", "~> 1.3.1"

gem "pg"

gem 'will_paginate', '~> 3.0.0'

gem 'resque', "~> 1.22.0", :require => "resque/server"

gem 'exception_notification'

gem 'httparty'

gem 'devise'

gem "active_model_serializers"

gem "rails_best_practices"

group …
Run Code Online (Sandbox Code Playgroud)

ruby-on-rails sass asset-pipeline ruby-on-rails-4 compass-sass

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

在预编译资产之后,Rails不在开发中编译样式表

rake assets:precompile在我的控制台中运行命令,然后当我转到localhost:3000时,我的样式表在我的application.css文件中停止编译...

以前,在开发模式下一切都很完美:编写样式表,在application.css文件中需要它,然后查看我视图中显示的样式.所以资产管道"习惯"工作.

我尝试使用SOF上的其他答案来使其工作(并且失败):

  1. config/application.rb中我添加了config.assets.enabled = true
  2. config/development.rb中我添加了以下内容:

    • config.serve_static_assets = false 这样Rails就不会在public/assets文件夹中查找我的样式表
    • config.assets.compress = false
    • config.assets.debug = true 看到正在加载的css的痕迹
    • config.assets.compile = true
  3. 我删除了public/assets我运行后创建的文件夹rake assets:precompile- 删除文件夹的另一种方法是运行命令,bundle exec rake assets:clobber但这并没有解决问题

  4. 我删除了该tmp/cache文件夹
  5. 每次我尝试序列1到4时重新启动我的服务器并清除浏览器缓存
  6. 尝试在application.css中更改我需要样式表的顺序

无济于事......

我也有以下设置

  1. application.html.erb

    <%= stylesheet_link_tag 'application', media: 'all', 'data-turbolinks-track' => true %>

  2. application.css

    *=要求自我

    *= require_tree.

    *=需要定制

    *=需要侧边栏

    *=需要标志/基本

    *= require flags/flags16

    *= require flags/flags32

    *=要求font-awesome.min

在浏览器的application.css中我看到:

在此输入图像描述

为什么我的rake assets:precompile开发模式会破坏我的资产管道?在此先感谢您的帮助,我花了至少5个小时试图解决这个问题,并相信我已尽我所能找到解决方案......

css stylesheet asset-pipeline ruby-on-rails-4

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

使用Heroku在Rails 5应用程序上加载资产问题

我在Heroku上部署的Rails 5应用程序中面临资产加载问题.

应用配置是,

ruby =>'2.3.1'

rails =>'〜> 5.0.1'

当图像存储在路径上时,

应用程序/资产/家/ image1.jpg

我正在访问它,因为,

= image_tag('/assets/home/image1.jpg’)
Run Code Online (Sandbox Code Playgroud)

它在Development ENV中正常工作,但在Production ENV中没有.

根据Heroku日志,

ActionController :: RoutingError(没有路由匹配[GET]"/assets/home/image1.jpg")

如果我直接将图像移动到

应用程序/资产/ image1.jpg

然后它致力于生产ENV.

请指导一下.

谢谢

heroku asset-pipeline ruby-on-rails-5

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