在不使用ERB的情况下呈现HTML表单

时间:2018-12-28 11:03:11

标签: html ruby-on-rails

在一个古老的论文中,我发现了如下所示的红宝石方法:

get "/test" do

  # Render an html form 
  <<-HTML
  <html>
     <!--just some code here-->
  </html>
  HTML
end

该方法直接呈现html表单,而无需调用erb文件。这通常是一种有效的方法吗?我还没有找到一个在线演示可以像这样演示的教程。我浏览过的每个消息源都在谈论erb。

2 个答案:

答案 0 :(得分:1)

ERB是HTML,其中嵌入了Ruby代码,因此您可以执行类似的操作

  <tbody>
      <% @books.each do |book| %>
        <tr>
          <td><%= book.title %></td>
          <td><%= book.content %></td>
          <td><%= link_to "Show", book %></td>
          <td><%= link_to "Edit", edit_book_path(book) %></td>
          <td><%= link_to "Destroy", book, method: :delete, data: { confirm: "Are you sure?" } %></td>
        </tr>
      <% end %>
    </tbody>

如果视图中没有添加红宝石逻辑,则可以使用html。

答案 1 :(得分:0)

摘录看起来像是基于Sinatra的应用程序(轻量级的ruby Web框架,official site)的一部分。

ERB是基于红宝石的模板语言,由于它的简单性和速度而非常受欢迎,但是当您在渲染时不需要大型响应或逻辑而只想输出一些字符串时,这样做非常有效。没有代码比没有代码运行得快。