跳至內容

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.
華夏公益教科書