从布局内部获取erb视图

时间:2013-08-26 07:47:18

标签: ruby sinatra erb

我正在尝试将当前视图的名称加载到layout.erb中。我试图将js文件和css文件注入布局头。我正在根据erb视图的名称为这些文件构建名称:

<link rel="stylesheet" href="/devcss/<%= viewName%>.css">
<script src="/devjs/<%= viewName %>.js" type="text/javascript"></script>

如何从布局模板中执行此操作?

UPDATE :我不知道如何在布局中的特定位置注入脚本,我认为content_for用于。我在上面的例子中需要知道的是如何确定 viewName 变量

1 个答案:

答案 0 :(得分:0)

head代码

内部后,将以下内容插入到application.html.erb中
<%= "#{yield(:scripts)}".html_safe if content_for?(:scripts) %>

并在单个erb中插入类似于以下内容的

<% content_for :scripts do %>
    <link rel="stylesheet" href="/devcss/<%= viewName%>.css">
    <script src="/devjs/<%= viewName %>.js" type="text/javascript"></script>
<% end %>

这将允许您将页面特定代码插入头部和其他个人erbs无法访问的标签