使用Asset Pipeline管理rails生产环境静态资源实现步骤
1. 修改项目中指向静态资源文件的链接
a) 访问静态资源文件
<%= stylesheet_link_tag "application", media: "all" %>
<%= javascript_include_tag "application" %>
<%= image_tag "icons/rails.png" %>
b) CSS 和 ERB
只要给 CSS 文件添加 .erb 扩展名(例如 application.css.erb),就可以在 CSS 规则中使用 asset_path 等辅助方法。
.class { background-image: url(<%= asset_path 'image.png' %>) }
c) CSS 和 Sass
在使用 Asset Pipeline 时,静态资源文件的路径都必须重写
image-url("rails.png") #回报 url(/assets/rails.png)
image-path("rails.png") #回报 "/assets/rails.png"
也可以使用更通用的形式:
asset-url("rails.png") #回报 url(/assets/rails.png)
asset-path("rails.png") #回报 "/assets/rails.png"
d) JavaScript/CoffeeScript 和 ERB
$('#logo').attr({ src: "<%= asset_path('logo.png') %>" });
2. 预编译
a) 预处理命令
rake assets:precompile
执行后项目public下生成asset目录,所有经过预编译处理的静态文件存放在这里。Rails服务默认不做静态资源管理,如果需要可以将config/environments/下生产环境配置文件production.rb中的config.serve_static_assets设置为true,也可以交给Web服务器(nginx)处理。
b) app/asset目录如下
c) Public下asset目录如下
3. 启动生产环境
启动命令:
rails s –e production
Nginx配置:
rails_env production; #修改rails为生产环境
使用Asset Pipeline管理rails生产环境静态资源实现步骤的更多相关文章
- 已有项目使用Asset Pipeline管理静态资源
1. 修改项目中指向静态资源文件的链接 a) 访问静态资源文件 <%= stylesheet_link_tag "application", media: " ...
- Django_生产环境静态文件配置
需求: 当Django项目运行在线上的时候,需要关闭debug模式,那么Django设置中,静态文件路径配置将会失效,如何解决这个问题? 问题原因: Django默认关闭debug模式,Django错 ...
- 【五】MongoDB管理之生产环境说明
下面详细说明影响mongodb的系统配置,尤其在生产环境上. 1.生产环境推荐的平台 Amazon Linux Debian 7.1 Red Hat / CentOS 6.2+ SLES 11+ Ub ...
- ruby on rails 生产环境调试项目日志查看
1.项目目录:log/production.log 2.nginx日志:/opt/nginx/logs 生产环境下做的任何更改都要重启服务器 重启 sudo kill $(cat /opt/nginx ...
- git管理测试生产环境代码
利用post-update实现简单钩子 #!/bin/bash cd /www/test || exit #进入指定的目录 unset GIT_DIR #清楚环境变量 git checkout mas ...
- spring boot 访问静态资源的步骤
1)resources/static下放置html文件.(或者static下新建目录 http://hcss:8090/imgs/单例.png) 2)webapp下放置html文件. 如果两个路径下有 ...
- Rails的静态资源管理(四)—— 生产环境的 Asset Pipeline
官方文档:http://guides.ruby-china.org/asset_pipeline.html http://guides.rubyonrails.org/asset_pipeline.h ...
- Ruby Rails学习中:Sass 和 Asset Pipeline,布局中的链接(Rails路由,具名路由),用户注册: 第一步
接上篇: 一.Sass 和 Asset Pipeline Rails 中最有用的功能之一是 Asset Pipeline, 它极大地简化了静态资源文件(CSS.JavaScript 和图像)的生成和管 ...
- Node JS后端项目开发与生产环境总结
原文地址:Node JS后端项目开发与生产环境总结 Node JS常用后端框架有express.koa.sails.国产框架有个egg js,已经在cnode投入生产了,还有个think js,类似t ...
随机推荐
- linux设置系统时间与时区以及设置bios时间同步系统时间
有装过Linux系统的人,可能都会有这样的经历,就是该机器安装windows系统时,时间正确,但是安装了linux系统后,尽管时区选择正确,也会发现系统时间不对.这是由于安装系统时采用了UTC,那么什 ...
- ssm搭建相关的问题
在搭建ssm框架时候踩得坑:1.对于拦截器url-parttern的设置:第一次设置的是/** 本以为这个是表示拦截所有,没想到这是错误的写法,正确的写法是/ 启动项目不会报错,但是会出现404 ...
- 3.mysql多表
这篇主要总结mysql的建表规则. 01.多表_建表的原则: 需求:创建一个表可以存储学员信息:学员编号,姓名,性别,年龄,科目 1).原则: 1.保证表中的一列,只记 ...
- Eclipse导出apk
http://jingyan.baidu.com/article/7908e85c8dea30af491ad24f.html
- Windods7+Anaconda+Tensorflow安装步骤
1.下载及安装Anaconda Anaconda是python科学计算的集成.下载Anaconda,下载地址:http://continuum.io/downloads. 由于tensorflow目前 ...
- 去除sql中不可见字符的n种方法
CREATE TABLE [ASCII0127] ( Bin INT, Dec INT, Hex VARCHAR(128), Abbr ...
- 安装及使用webpack
Webpack 什么是webpack:现今的很多网页其实可以看做是功能丰富的应用,它们拥有着复杂的JavaScript代码和一大堆依赖包.为了简化开发的复杂度,前端社区涌现出了很多好的实践方法:1.模 ...
- 2018.7.26 学会说NO,拒绝道德绑架。
一.领导交给你一项不属于你工作范围的工作,是否需要拒绝,你可以考虑以下问题: 1.这是与我核心能力相关的工作吗?是,接受:否,进入下一条: 2.它能帮助我拓展我核心能力的边界,或是我感兴趣的吗?是,接 ...
- Memcache mutex设计模式
Memcache mutex设计模式 转自:https://timyang.net/programming/memcache-mutex/ 场景 Mutex主要用于有大量并发访问并存在cache过期的 ...
- 使用swing构建一个界面(包含flow ,Border,Grid,card ,scroll布局)
package UI; import java.awt.BorderLayout;import java.awt.CardLayout;import java.awt.Cursor;import ja ...