📜  Ruby on Rails-视图(1)

📅  最后修改于: 2023-12-03 15:19:51.978000             🧑  作者: Mango

Ruby on Rails - 视图

Ruby on Rails (RoR) 是一款使用 Ruby 语言编写的开源 Web 应用程序框架。它提供了一个全面的、自然的方法来构建现代化的 Web 应用程序,同时包括一个强大的 MVC 架构、ORM 和视图层。

视图是 RoR 中的一部分,用于处理应用程序的用户界面。在此过程中,它们会生成 HTML 代码,并与可能由控制器传递的数据相结合。这使开发人员能够使应用程序变得既有趣又易于使用。

页面显示

在 RoR 中,视图使用 ERB 模板来显示 HTML 内容。它们使用 Ruby 代码和 HTML 标记将数据渲染到视图中。示例代码如下:

<h1>Welcome to My Blog</h1>

<% @articles.each do |article| %>
  <h2><%= article.title %></h2>
  <p><%= article.content %></p>
<% end %>

在此代码片段中,<% %> 用于包容 Ruby 代码块,并生成数据。<%= %> 使用 Ruby 表达式来将这些数据插入到 HTML 标记中。

布局

布局定义了 RoR 应用程序中的页面元素,例如头部、导航栏和页脚等。在此过程中,视图会把内容插入到这些布局中。这些布局通常定义在 layouts 目录中,并使用 .html.erb 扩展名。示例代码如下:

<!DOCTYPE html>
<html>
  <head>
    <title><%= yield(:title) %> | My Blog</title>
  </head>
  <body>
    <header>
      <h1>My Awesome Blog</h1>
    </header>

    <nav>
      <ul>
        <li><%= link_to "Home", root_path %></li>
        <li><%= link_to "Articles", articles_path %></li>
      </ul>
    </nav>

    <main>
      <% flash.each do |key, value| %>
        <div class="<%= key %>"><%= value %></div>
      <% end %>

      <%= yield %>
    </main>

    <footer>
      <p>© 2021 My Blog</p>
    </footer>
  </body>
</html>

在此代码片段中,<%= yield %> 指示将视图放在此处。同时,<% flash.each do |key, value| %> 用于处理在控制器中设置的 Flash 消息,例如警告或成功信息。

总结

RoR 中的视图层可以生成干净、有趣且易于使用的应用程序界面。它们使用 ERB 模板和 Ruby 和 HTML 标记相结合,以呈现数据和页面。同时,布局为应用程序提供了一致性和结构。