2

我知道您可以通过在标签之间插入代码来将 Javascript 代码实现到 HTML 文档中<script></script>。有没有类似的方法可以用 Ruby 做到这一点?

4

3 回答 3

3

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

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

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

服务器端 Ruby

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

例如,您可以使用 ERB 模板(这里是 ERB 的一个很好的介绍)以及其他 Ruby 模板引擎(即令人惊叹的Slim模板引擎)以与 PHP 代码类似的方式运行 Ruby 代码(只是更易于编写和维护) .

然而,Ruby 比简单的模板要强大得多。有为 Ruby 编写的完整服务器和框架,允许您编写非常强大的服务器端脚本。

常用框架:

  • Ruby on Rails是许多初学者经常开始使用的非常常见的框架。

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

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

  • 阅读以下链接,了解更常见的 Http-Web 框架和基准

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

于 2015-12-03T03:09:08.777 回答
0

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

这是一个简单的例子。

<ul>
  <% 3.times do %>

    <li>list item</li>

  <% end %>
</ul>

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

这是有关该主题的更多信息

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

于 2015-12-03T01:54:27.587 回答
0

这可能是一个很好的页面,可以了解如何实现 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 %>
于 2015-12-03T01:55:59.563 回答