0

我正在使用 Sinatra,我想在我的一个视图中包含另一个 erb 文件,但使用一个变量作为文件名。

我在想这样的事情可能会起作用,但我收到一个错误,说找不到这样的文件。

<%= erb :'layout/nav/#{device_type}' %>

目前我正在使用下面的 switch 语句来实现预期的结果,但上面的代码会更干净、更少。

<% case device_type
   when 'mobile'%>
    <%= erb :'layout/nav/mobile' %>
    <% when 'tablet' %>
    <%= erb :'layout/nav/tablet' %>
    <% else %>
    <%= erb :'layout/nav/desktop' %>
    <% end  %>

谢谢

贾尔斯

4

1 回答 1

2

我认为这可行,您只需要使用双引号来插入字符串。

尝试

<%= erb :"layout/nav/#{device_type}" %>
于 2013-11-08T01:52:57.853 回答