rails中的资源文件js、css以及layout
发表于:,更新于:,By Sally
先说说资源文件的配置位置
在rails项目中,assets/ 目录下存放资源文件,一般的,我们的图片,js,css文件分别放在 assets/ 目录下的image/ js/ css/ 这三个文件夹中
并且在application.css 和 application.js文件中,对文件进行声明
assets/javascripts/application.js
1 | //= require jquery |
- assets/stylesheets/application.css
1 | /* |
这里需要说明: 项目部署在
生产模式
下的时候,这些资源文件会被压缩,压缩时是根据文件的声明顺序进行的。这里需要说明: 在样式文件中,不仅支持
css
文件,还支持scss
,可以使用ruby等简洁的语法。(先意会下,描述有问题)这里还需要注意:可能由于某些原因,我们重复使用了同一个js库的不同版本(1.0版本有a方法,2.0版本有b方法)。并且这个文件的引用顺序互相影响(先声明1.0库,a方法失效,先声明2.0方法,b方法失效)。那么此时就需要。ps:但是尽可能的使用统一版本,否则加载多个库影响响应速度。
- 假设,这两个方法的调用不在同一个页面,那么我们就可以在
head
标签中,进行判断然后引用。(判断的变量,定义在controller中的action中)
1 | <% if @is_decorating_case_show %> |
- 然后,需要在config/initializers/assets.rb 文件中进行配置,如下
1 | # application.js, application.css, and all non-JS/CSS in app/assets folder are already added. |
顺道说下,layout的引用
默认,每个页面都是被app/views/layouts/application.html.erb 文件渲染的
当然,你也可以定制页面该如何渲染并指定给该页面
1 | # 在controller中,定义整个controller控制下的所有页面 |
partial 在 view 中使用的局部视图渲染
- 在有限的好几个页面中,都使用了相同的局部布局,那么该布局可以抽取,然后
1 | # 在view中使用 |