javascript - 如何在 Ruby on Rails 中的服务器端运行 Javascript

标签 javascript ruby-on-rails node.js

我打算使用 Ruby on Rails 编写一个与比特币相关的 Web 应用程序。 现在有一些非常有用的库,例如 Bitcoinjs 或 Bitcore,它们是用 Javascript 编写的,可以在 Web 浏览器的客户端上运行,也可以在 Node.js 的服务器端运行。但是,由于我打算使用 RoR 对该应用程序进行编程,因此我想知道如何在服务器端利用这些库。 有没有一种方法(即 gem)允许在服务器上解释 Javascript,或者我可以在 RoR 代码中启动 Node.js 实例,然后我可以通过它解释这些 javascript 库并执行它们的函数吗? 非常感谢任何帮助。

最佳答案

由于看起来您非常决心使用这些 Nodejs 库,因此我将按照以下方式进行操作。由于在错误的环境中运行代码是一个非常糟糕的主意,因此我会进行这样的设置。

前端,ERB 模板 => Rails 服务器 => nodeJs 服务器

这种设置背后的想法是,Rails 更像是任务主控器,而 NodeJs 是工作器。你的 Rails 应用程序会弄清楚需要发生什么,然后告诉 NodeJs 去做。然后 Nodejs 将响应结果,Rails 将结果呈现给用户。

这里是一个例子:
前端有人要求你的应用程序将 x 比特币转移给其他人。然后,您的 Ruby on Rails 应用程序将执行所需的任何非比特币任务(例如:登录、向人们发送消息)。然后,您的 Rails 应用程序将向 NodeJs 服务器发送请求,该服务器实际上会执行比特币任务。

以下是您如何实现此设置。

  1. 制作前端
  2. 将前端操作与 Rails Controller 连接
  3. 在您的 NodeJ 上创建 RESTful HTTP API。
  4. 如果您还不知道什么是 RESTful API,请研究一下。这是一个完全独立的主题
  5. 为您希望应用执行的每个操作创建一个入口点。
  6. 让这个nodeJs服务器在本地运行,这样人们就无法在不通过您的Rails应用程序的情况下访问它
  7. 然后使用类似 restful-client 的内容从 Rails 应用程序中使用 NodeJs API

关于javascript - 如何在 Ruby on Rails 中的服务器端运行 Javascript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25110040/

相关文章:

javascript - 在没有表单提交/按钮单击的情况下解决 recaptcha(使用回调)

ruby-on-rails - ActionView::Template::Error ('twitter/bootstrap/bootstrap.less' 未找到

javascript - 为什么在 Hawk 中创建授权请求 header 时出现错误 'Internal Server Error'?

javascript - 如果 NODE 代理未运行,则阻止渲染 ANGULAR 页面

node.js - 使用 Elasticsearch 查询字符串匹配多个字段

javascript - 什么时候不要在 Web 应用程序开发中使用 AJAX?

JavaScript split 方法不起作用

javascript - 如何使用 Promise.all() 推迟返回在函数内部构建的数组?

html - 如何创建打印友好的 HTML 页面?

javascript - Ruby on Rails - Javascripts 文件夹