【问题标题】:Linking Ruby with HTML Code将 Ruby 与 HTML 代码链接
【发布时间】:2015-12-03 01:50:19
【问题描述】:

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

【问题讨论】:

    标签: html css ruby opalrb


    【解决方案1】:

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

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

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

    服务器端 Ruby

    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

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

    【讨论】:

      【解决方案2】:

      这可能是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 %>
      

      【讨论】:

      • 当然,请始终牢记,虽然 Rails 可能是提问者答案的一部分,但实际问题与 Rails 无关......跨度>
      【解决方案3】:

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

      这是一个简单的例子。

      <ul>
        <% 3.times do %>
      
          <li>list item</li>
      
        <% end %>
      </ul>
      

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

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

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-05-21
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多