📅  最后修改于: 2023-12-03 15:19:51.978000             🧑  作者: Mango
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 标记相结合,以呈现数据和页面。同时,布局为应用程序提供了一致性和结构。