跳至内容

Ruby on Rails/ActionView/ERb

来自维基教科书,开放世界中的开放书籍

ERb(嵌入式 Ruby)是 Rails 附带的默认模板语言。它与 PHP、JSP 和 ASP 非常相似。


嵌入 Ruby 的标签

[编辑 | 编辑源代码]
  • <%= %>将渲染嵌入式 Ruby 表达式返回的结果作为文本
  • <% %>将执行嵌入式表达式,但不渲染结果
  • <% -%>将执行嵌入式表达式,但不渲染结果,并将抑制尾随空格
  • <%- %>将执行嵌入式表达式,但不渲染结果,并将抑制前导空格
  • <%# %>将导致嵌入式表达式被解析为注释

ERb 工具方法

[编辑 | 编辑源代码]

在开发 Rails 应用程序时,您可能会遇到一些作为 ERb 一部分的实用程序方法

  • h(s)html_escape(s)- 用于在提供的字符串中转义 HTML 标签字符的实用程序方法s
  • u(s)url_encode(s)- 用于对字符串进行编码的实用程序方法s作为 URL
  <h1>People</h1>
    
  <ul>
    <% @people.each do |person| -%>
    <li><%= person.first_name %></li>
    <% end -%>
  </ul>

如果 @people 包含 Person 实例数组,这将渲染类似于以下内容

  <h1>People</h1>

  <ul>
    <li>Bob</li>
    <li>Joe</li>
    <li>Mary</li>
  </ul>

  • 虽然可以在视图中放置业务逻辑,但应该避免这样做。业务逻辑应该放在模型中,在那里可以轻松测试和重用。
  • <%= render :partial => '/layouts/menu' %> 将渲染部分app/views/layouts/_menu.
华夏公益教科书