Ruby On Rails的layout——不同的action用不同的JS和CSS

最近刚做好一个站,rails 3,大家捧场看看,谢谢!www.yo945.com

ROR中的layout简单用了一下,发现挺好用的,不过同时想到一个问题,对于不同的action,基本上都会有自己独有的JS和CSS,那么在定义好layout后,怎么做到不同的action对应不同的JS和CSS呢?

查了一下资料,学到一个简单的方法,记录一下:

在action对应的layout中,使用content_for

/app/views/books/index.html.erb

<% content_for :js do %>
  <%= javascript_include_tag 'one' %>
  <%= javascript_include_tag 'two' %>
  <%= javascript_include_tag 'three' %>
<% end %> 

然后在中,调用index.html.erb中定义的内容

<%= yield :js –%>

最终生成的HTML就会如下:

<script src="/javascripts/one.js" type="text/javascript"></script>
<script src="/javascripts/two.js" type="text/javascript"></script>
<script src="/javascripts/three.js" type="text/javascript"></script>

如果没有定义content_for,则不会生成任何内容

原文地址:https://www.cnblogs.com/varlxj/p/1660875.html