我知道您可以通过在标签之间插入代码来将 Javascript 代码实现到 HTML 文档中<script></script>
。有没有类似的方法可以用 Ruby 做到这一点?
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 框架和基准。
是的,有一个模板系统称为embedded ruby (erb)
. 在这里,您可以将 ruby 代码放在 html 标记中。Ruby 代码嵌入了一对<%
和%>
分隔符。但是,要将值输出到视图,第一对需要是<%=
这是一个简单的例子。
<ul>
<% 3.times do %>
<li>list item</li>
<% end %>
</ul>
您的文件通常命名为index.html.erb
这是有关该主题的更多信息
这可能是一个很好的页面,可以了解如何实现 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 %>