Ruby 面试题
目录

Ruby on Rails 中如何使用 ERB 模板?

· 约 3 分钟读完 · 第 153 / 199 章

推荐答案

在 Ruby on Rails 中使用 ERB 模板非常简单。ERB(Embedded Ruby)是一种将 Ruby 代码嵌入到 HTML 中的模板系统。以下是一个基本的示例:

在这个示例中:

  • <%= %> 用于输出 Ruby 代码的结果。
  • <% %> 用于执行 Ruby 代码但不输出结果。

本题详细解读

1. ERB 模板的基本语法

ERB 模板允许你在 HTML 中嵌入 Ruby 代码。主要有两种标签:

  • <%= %>:用于输出 Ruby 代码的结果。例如,<%= Time.now %> 会输出当前时间。
  • <% %>:用于执行 Ruby 代码但不输出结果。例如,<% if user_signed_in? %> 会检查用户是否已登录,但不会输出任何内容。

2. 在 Rails 中使用 ERB

Rails 默认使用 ERB 作为视图模板引擎。当你生成一个控制器时,Rails 会自动创建对应的 ERB 模板文件。例如,生成 WelcomeController 时,Rails 会创建 app/views/welcome/index.html.erb 文件。

3. 常用技巧

  • 条件语句:可以使用 if、else、elsif 等条件语句来控制内容的显示。
  • 循环:可以使用 each、for 等循环语句来遍历集合。
  • 局部模板:可以使用 render 方法来渲染局部模板,例如 <%= render 'shared/header' %>。

4. 示例代码解析

  • 第一行输出一个标题。
  • 第二行输出当前时间。
  • 接下来的代码块检查用户是否已登录。如果已登录,显示欢迎信息;否则,显示登录链接。

通过这种方式,你可以灵活地在 HTML 中嵌入 Ruby 代码,动态生成页面内容。