将 Ruby 与 HTML 代码链接

Linking Ruby with HTML Code

我知道您可以在 HTML 文档中实现 Javascript 代码,方法是在 <script></script> 标签之间插入代码。是否有类似的方法Ruby?

是的,有一个名为 embedded ruby (erb) 的模板系统。在这里,您可以在 html 标签内放置 ruby 代码。 Ruby 代码嵌入了一对 <%%> 分隔符。但是,要将值输出到视图,第一对需要是 <%=

这是一个简单的例子。

<ul>
  <% 3.times do %>

    <li>list item</li>

  <% end %>
</ul>

您的文件通常命名为 index.html.erb

这里有关于该主题的更多信息

https://en.wikipedia.org/wiki/ERuby

这可能是 good page 获得如何实施 RoR 的初步想法。这是该页面的一个片段。如您所见,您可以使用 <% 和 %> 开始和结束标记在 HTML 中直接内联执行 RoR。

<%= form_for :article do |f| %>
  <p>
    <%= f.label :title %><br>
    <%= f.text_field :title %>
  </p>

  <p>
    <%= f.label :text %><br>
    <%= f.text_area :text %>
  </p>

  <p>
    <%= f.submit %>
  </p>
<% end %>

客户端Ruby(Ruby 在浏览器上?!)

如果您的问题是指在浏览器上执行 Ruby 代码,就像您执行 Javascript(不涉及服务器),那么从传统意义上来说,这实际上是不可能的。

但是,Opal (or similar transpilers) 会将您的 Ruby 代码“编译”为 Javascript,允许您执行编译后的“Ruby”(现在 javascript) 浏览器中的代码,就像本机 Javascript(有时甚至更好,因为 Opal 会尝试优化您的代码)。

服务器端Ruby

Ruby 通常用于在服务器而不是浏览器上 运行 编码。有很多解决方案。

例如,您可以使用 ERB 模板 - 这里是 a good intro to ERB - as well as other Ruby template engines (i.e. the amazing Slim 模板引擎)以类似于 PHP 代码的方式 运行 Ruby 代码(只是更容易编写和维护)。

但是,Ruby 比简单的模板强大得多。有为 Ruby 编写的完整服务器和框架,让您可以编写非常强大的服务器端脚本。

常用框架:

  • Ruby on Rails是一个很常见的框架,很多初学者经常从这里入手。

  • Sinarta 也是一个很好的起点,通常受到更有经验的程序员的青睐,他们倾向于认为它没有 Rails.

  • 直接使用Rack(无框架)是高性能的主流选择,但需要更多知识

  • 阅读以下内容link了解更多common Http-Web frameworks and Benchmarks

还有更多实验性或不太常见的框架 - 通常是专注于实时 Web 应用程序的框架,例如 Volt and Plezi