我们如何在 Sinatra 应用程序中的 Slim 模板中呈现随机部分?

How can we render a random partial in a Slim template within a Sinatra application?

给定 a really simple Sinatra application:

require 'sinatra'
require 'slim/include'

get '/' do
  @specifically = %W(milk bread cheese).sample
  slim :home
end

其中 views/home.slim 看起来像这样:

doctype html
html
  head
    title Don't forget the stuff

  body
    include reminder

我们可以看到 reminder 作为裸词包含在内(而不是 String)。

views/reminder.slim 中,我想包含由变量 @specifically:

表示的随机部分
p Remember the things!

include @specifically

这会在 / 处引发 Temple::FilterError'@specifically.slim' not found

如何让 Slim 在此处呈现 milk.slim(或其他)?

Rubber ducking this worked!

而不是

include @specifically

使用

== slim @specifically.to_sym