Ruby 从内部布局获取erb视图

Ruby 从内部布局获取erb视图,ruby,sinatra,erb,Ruby,Sinatra,Erb,我正在尝试获取加载到layout.erb中的当前视图的名称。我正在尝试将js文件和css文件注入布局头部。我正在根据erb视图的名称为这些文件创建名称: <link rel="stylesheet" href="/devcss/<%= viewName%>.css"> <script src="/devjs/<%= viewName %>.js" type="text/javascript"></script> 如何从布局模板执行

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

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

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


更新:我不想知道如何在版面中的特定位置插入脚本,我认为内容就是用来插入脚本的。在上面的示例中,我需要知道的是如何确定viewName变量

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 %>


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

我知道我可以将参数传递给我的erb,我只是想知道布局是否有一种简单的方法来知道的哪个erb包含
内容\u来自Rails,而不是Sinatra。Sinatra没有现成的
content\u,您需要使用类似的内容,从中使用
yield\u content
而不是
yield
。另外
if:scripts
将始终为真,因为
:scripts
是一个符号。我想你的意思是测试模板是否为该符号添加了内容,我不知道Rails中是否有这样做的方法。@matt很正确,我已经更新了代码以使用
content\u?