【问题标题】:Create a "main layout" view in Rails?在 Rails 中创建“主布局”视图?
【发布时间】:2010-07-26 03:54:26
【问题描述】:

好的,所以我有一个小项目,我制作了两个不同的脚手架。在 layouts 目录中,有两个不同的 layout.html.erb 文件。

我的问题是如何将其压缩为两个脚手架视图共享的一个主要布局文件。

基本上我这样做的目的是让我只需将导航栏和标题以及其他类似的东西都放在一个地方。

【问题讨论】:

    标签: ruby-on-rails activeview


    【解决方案1】:

    如果您将布局文件命名为 application.html.erb,那么它将是默认布局文件。如果您使用与控制器相同的名称指定布局文件,则会覆盖默认布局。

    来自 Rails 指南:

    要查找当前布局,Rails 首先在其中查找文件 具有相同基础的应用程序/视图/布局 名称为控制器。例如, 从渲染动作 PhotosController 类将使用 app/views/layouts/photos.html.erb(或 app/views/layouts/photos.builder)。如果 没有这种特定于控制器的 布局,Rails 将使用 应用程序/视图/布局/application.html.erb 或者 应用程序/视图/布局/application.builder。 如果没有 .erb 布局,Rails 将 如果存在,请使用 .builder 布局。 Rails 还提供了几种方法 更精确地分配特定布局 到各个控制器和操作。

    来源:http://guides.rails.info/layouts_and_rendering.html

    编辑:

    我应该补充一点,您可以在应用程序控制器中指定任何布局作为默认布局:

    class ApplicationController < ActionController::Base
      layout 'some_layout_name'
    end
    

    这将覆盖 rails 自动执行的名称匹配。

    我希望这会有所帮助!

    【讨论】:

      【解决方案2】:

      你可以在你的 layouts 目录中拥有一个application.html.erb,它将被所有视图共享

      【讨论】:

        猜你喜欢
        • 2011-10-26
        • 1970-01-01
        • 2016-01-21
        • 1970-01-01
        • 2019-06-24
        • 1970-01-01
        • 1970-01-01
        • 2012-01-21
        • 1970-01-01
        相关资源
        最近更新 更多