我正在使用基于用户角色的 rails 应用程序,它将根据给定的用户角色呈现不同的视图。这是通过使用自定义 mime 类型来完成的。我根据这里的堆栈溢出帖子构建了它。
它工作得很好。您甚至不必在控制器中显式呈现相应的模板:
def index
@projects = Project.all
end
代替:
def index
@projects = Project.all
respond_to do |format|
format.html
format.admin
end
end
由于文件的 mime 类型结尾,控制器将自动呈现正确的模板。
我现在遇到的唯一问题是,我的视图文件夹有点杂乱无章,所有这些不同的模板,我想根据它们的类型将它们分组和组织在子文件夹中。假设我想创建一个名为“admin”的子文件夹并将所有管理员键入的文件放在那里。这导致文件不再被找到,因为控制器不在子文件夹中查找它们。因此我得到一个模板丢失错误。
有没有办法在子文件夹中组织它们,同时保持我的控制器干净,即不必在渲染调用中明确声明模板的整个路径?