我允许管理员为其页面选择不同的布局。现在它只是一个文本输入,他们输入名字。这意味着他们必须提前知道名字。
如果他们打错了它会引发异常,所以我通过在控制器中执行以下操作来检查布局是否存在,如果它不存在,则默认为“应用程序”。
lookup_context.template_exists?(@page.layout, "layouts")
如果我能得到一个布局列表,我就不需要再检查控制器了。
我浏览了actionview,没有发现任何东西。我可以使用 Dir 获取布局文件列表,但我需要包含引擎中的所有布局。
所以我想知道是否有人知道一种方法来生成所有可用布局的列表,包括来自引擎的布局?