Rails 关于 require_self,求扫盲

cdredfox · 2012年07月09日 · 最后由 Yujing_Z 回复于 2012年07月13日 · 5885 次阅读

谁能帮忙解说一下 require_self 的含义? 我之前一至理解的是,比如我有二个页面叫 test.html.erb,test1.html.erb 有个 layout 叫 application.html.erb。那么如果我在 application.css.scss 中如果加入 require_self 之后,我在执行 test.html.erb 时,就会加载对应的 test.css.scss.我在访问 test1.html.erb 时,就加载 test1.css.scss。 不过我今天试了一下,貌似不是这样的。加了 require_self 之后,并不会加入对应的 css.scss.

求扫盲~

require_self 是主要作用是改变代码顺序,在 js 有前后依赖关系或者 css 会覆盖样式时很有用

例如在 foo.css.scss

//= require a_css
//= require_self
//= require b_css

#id {
  color: red;
}

最后 foo.css.scss 编译出来就会像这样:

...
a_css 的内容
...

#id {
  color: red;
}

...
b_css 的内容
...

如果没有 require_self 就按代码顺序

哦,谢谢~那其实 require_self 其实是把当前所在文件中的内容填充到位置,相当于一个占位符一样?

需要 登录 后方可回复, 如果你还没有账号请 注册新账号