【问题标题】:Rails: how to add a header to every pageRails:如何为每个页面添加标题
【发布时间】:2010-05-25 01:26:52
【问题描述】:

向 Rails 应用程序中的每个视图添加页眉和页脚的标准方法是什么?

【问题讨论】:

    标签: ruby-on-rails header footer code-standards


    【解决方案1】:

    如果找到这个文件,就会使用它。

    app/views/layouts/application.html.erb

    <!doctype html>
    <html>
      <head>
        <!-- stuff -->
      </head>
      <body>
        <!-- this is where content will be rendered -->
        <%= yield %>
      </body>
    </html>
    

    否则,您可以调用另一个。

    # app/controllers/birds_controller.rb
    class BirdsController < ApplicationController
    
      layout :birds   # looks for app/views/layouts/birds.html.erb
    
      # ...
    end
    

    【讨论】:

      【解决方案2】:

      将页眉和页脚放入可在 app/views/layouts/application.html.erb 找到的应用程序布局中。您可能需要先创建此文件。

      【讨论】:

        【解决方案3】:

        要将任何“样板”代码添加到所有页面,请使用布局文件。它通常位于 app/views/layouts/ 中。

        像使用任何其他 Rails 视图一样创建页面。一般来说,最好将&lt;html&gt;body等标签放在布局内以避免重复。

        在您希望单个视图的内容出现的位置,放入&lt;% yield %&gt; 标记。由于 Ruby 的块语法和 Rails 实现布局的方式,这将允许控制器指定此布局的任何视图“继承”所有布局并仅插入特定于页面的内容。

        要全局使用布局,请将文件命名为 application.html.erb 或指定 render :layout 选项。

        【讨论】:

          【解决方案4】:

          您可以在app/views/layouts/ 中找到您应用的布局文件。

          【讨论】:

            【解决方案5】:

            如 x1a4 所说,创建一个通用布局“app/views/layouts/.html.erb”。在里面你可以创建你的页眉和页脚

            如果您愿意,您可以将其作为两个部分并在布局文件中调用。但是如果你只有一种布局,你可能不需要这个

            如果您有 2-3 种布局类型(如普通用户、管理员等...),则在部分中使用页眉和页脚是有意义的

            在类声明之后的控制器中

            类用户控制器

            干杯, 同龄人

            【讨论】:

              猜你喜欢
              • 2019-05-09
              • 2017-05-17
              • 1970-01-01
              • 1970-01-01
              • 2022-11-11
              • 1970-01-01
              • 1970-01-01
              • 2017-05-16
              • 1970-01-01
              相关资源
              最近更新 更多