Ruby on Rails/ActionView/ERb
外观
ERb(嵌入式 Ruby)是 Rails 附带的默认模板语言。它与 PHP、JSP 和 ASP 非常相似。
- <%= %>将渲染嵌入式 Ruby 表达式返回的结果作为文本
- <% %>将执行嵌入式表达式,但不渲染结果
- <% -%>将执行嵌入式表达式,但不渲染结果,并将抑制尾随空格
- <%- %>将执行嵌入式表达式,但不渲染结果,并将抑制前导空格
- <%# %>将导致嵌入式表达式被解析为注释
在开发 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.