【问题标题】:Render mime typed templates in Rails that are in a subfolder without explicitly providing the whole path in a render call在 Rails 中渲染位于子文件夹中的 mime 类型模板,而无需在渲染调用中显式提供整个路径
【发布时间】:2012-04-19 07:52:12
【问题描述】:

我正在使用基于用户角色的 rails 应用程序,它将根据给定的用户角色呈现不同的视图。这是通过使用自定义 mime 类型来完成的。我是根据这个堆栈溢出帖子here构建的。

效果很好。您不必甚至必须在控制器中显式呈现相应的模板:

def index
    @projects = Project.all
end

代替:

def index
    @projects = Project.all
    respond_to do |format|
      format.html
      format.admin
    end
end

由于文件的 mime 类型结尾,控制器将自动呈现正确的模板。

我现在遇到的唯一问题是,我的视图文件夹有点杂乱无章,我想根据它们的类型将它们分组并组织在子文件夹中。 假设我想创建一个名为“admin”的子文件夹并将所有管理员键入的文件放在那里。这导致文件不再被找到,因为控制器不在子文件夹中查找它们。因此我得到一个模板丢失错误。

有什么方法可以将它们组织在子文件夹中,同时保持我的控制器干净,即不必在渲染调用中明确声明模板的整个路径?

【问题讨论】:

    标签: ruby-on-rails ruby-on-rails-3 mime-types


    【解决方案1】:

    我能够通过更改默认视图路径(如建议的here)来重组视图文件夹。

    【讨论】:

      猜你喜欢
      • 2010-09-22
      • 2023-02-08
      • 2016-02-16
      • 1970-01-01
      • 1970-01-01
      • 2023-04-07
      • 2013-01-10
      • 1970-01-01
      • 2022-11-29
      相关资源
      最近更新 更多