如何使用Ruby on Rails在服务器端运行Javascript

How run Javascript on server side in Ruby on Rails

本文关键字:服务器端 运行 Javascript Rails 何使用 Ruby on      更新时间:2023-09-26

我打算用Ruby on Rails编写一个与比特币相关的Web应用程序。现在有一些非常有用的库,如Bitcoinjs或Bitcore,它们是用Javascript编写的,可以在客户端网络浏览器中运行,也可以在服务器端使用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控制器连接
  3. 在nodeJs上创建RESTful HTTP API。
  4. 如果你还不知道RESTful API是什么,那就研究一下吧。这是一个完全不同的话题
  5. 为你希望应用程序执行的每个动作创建一个入口点。
  6. 让这个nodeJs服务器在本地运行,这样人们就不能通过你的Rails应用程序访问它
  7. 然后使用rest -client之类的东西来使用Rails应用程序中的nodeJs API