【发布时间】:2015-12-03 01:50:19
【问题描述】:
我知道您可以通过在 <script></script> 标记之间插入代码来将 Javascript 代码实现到 HTML 文档中。在 Ruby 中是否有类似的方法?
【问题讨论】:
我知道您可以通过在 <script></script> 标记之间插入代码来将 Javascript 代码实现到 HTML 文档中。在 Ruby 中是否有类似的方法?
【问题讨论】:
如果您的问题是指在浏览器上执行 Ruby 代码,就像您将执行 Javascript(不涉及服务器)一样,那么在传统意义上这是不可能的。
但是,Opal 会将您的 Ruby 代码“编译”成 Javascript,允许您在浏览器中执行编译后的“Ruby”(现在是 javascript)代码,就像原生 Javascript 一样(有时甚至更好,因为 Opal 试图优化你的代码)。
Ruby 通常用于在服务器而不是浏览器上运行代码。有很多解决方案。
例如,您可以使用 ERB 模板 - 这里是 a good intro to ERB - 以及其他 Ruby 模板引擎(即惊人的 Slim 模板引擎)以类似于 PHP 代码的方式运行 Ruby 代码(只是更容易编写和维护)。
然而,Ruby 比简单的模板要强大得多。有为 Ruby 编写的完整服务器和框架,允许您编写非常强大的服务器端脚本。
常用框架:
Ruby on Rails 是一个非常常见的框架,许多初学者经常开始使用。
Sinarta 也是一个很好的起点,通常受到更有经验的程序员的青睐,他们倾向于认为它没有 Rails 重。
直接使用Rack(无框架)是高性能主流选择,但需要更多知识。
阅读以下链接了解更多信息common Http-Web frameworks and Benchmarks。
【讨论】:
这可能是good page 获得有关如何实施 RoR 的初步想法。这是页面中的一个sn-p。如您所见,您可以在 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 %>
【讨论】:
是的,有一个称为embedded ruby (erb) 的模板系统。在这里,您可以将 ruby 代码放在 html 标记中。 Ruby 代码嵌入了一对<% 和%> 分隔符。但是,要将值输出到视图,第一对需要是<%=
这是一个简单的例子。
<ul>
<% 3.times do %>
<li>list item</li>
<% end %>
</ul>
您的文件通常命名为index.html.erb
这里有更多关于这个主题的信息
【讨论】: