Tag: ruby on rails

在rails服务器端运行javascript

我有一个Rails应用程序,这是REST API。 我有一部分模型是用户可以上传的JavaScript脚本。 我想创build一个后台工作人员的任务,我可以做networking请求,并执行JavaScript的networking请求服务器端的结果,然后将其保存到数据库。 现在我已经被告知考虑使用Rails前端API,然后使用NodeJS服务器作为工作者并执行JavaScript。 我主要关心的是用nodejs orm和rails orm开发一个跨平台的模式。 所以我的问题是双重的是有一种开发数据库架构的方式,所以它在Node JS服务器和Rails服务器上都是同步的。 否则有没有办法在rails服务器上执行javascript?

MEAN(stack)Node.js app目录与rails(stack)目录相比是什么样的?

这是我第一次看Node节点,因为我学习了使用Ruby on Rails进行Web开发,所以对于一些基本的东西有点困惑。 我明白一个rails目录的样子。 demo/ …./app ……../assets *Javascript, CSS, images, etc* ……../controller *Connect the model with the view* ……../helpers – *model & view assistance code* ……../models – *Database Structure* ……../views – *HTML CSS* …………../layouts *overall application view structure * …./components …./config *Server related stuff I only touch when pushing to production* …./db *schema for database, […]

无法访问本地postgreSQL heroku,node.js

使用postgreSQL数据库设置node.js应用程序,全部在生产环境中运行。 我已经使用CLI heroku pg:pull …这是成功的。 我在本地运行postgres 9.4.X,但在本地启动我的应用程序(工头开始)我得到一个错误:“错误错误:关系”test_table“不存在”。 我按照这里的指示: https : //devcenter.heroku.com/articles/heroku-postgresql#local-setup但仍然我似乎无法访问我的数据库在本地运行。 在.bash_profile: export PATH="/usr/local/heroku/bin:$PATH" export PATH=$PATH:/Applications/Postgres.app/Contents/Versions/9.4/bin export PATH="/Applications/Postgres93.app/Contents/MacOS/bin:$PATH:$PATH" 控制台错误日志: 15:39:48 web.1 | started with pid 18779 15:39:48 web.1 | Node app is running on port 5000 15:39:52 web.1 | { [error: relation "test_table" does not exist] 15:39:52 web.1 | name: 'error', 15:39:52 web.1 | length: […]

导轨转向基础的游戏经理

我正在写一个回合制的纸牌游戏(线上线上扑克)。 我有使用rails的经验,所以我想使用它的大部分的逻辑,如用硬币和统计pipe理用户,pipe理房间和游戏。 我打算使用节点js + socket.io + redis来提供实时消息服务器 – >客户端(基本上使用rails的redis发布消息,在node.js端监听它们并通过socket.io发布到客户端)和使用REST API从客户端 – >服务器进行通信。 我坚持的部分是试图pipe理轨道内的实际游戏逻辑。 我将需要一个正在进行的游戏的游戏pipe理器来评估游戏中发生的所有事情(交易卡,接受投注,通过玩家轮stream,评估结果等)。 特别是有两件事情对我来说似乎不太可能,那就是从我迄今为止使用rails构buildwebapp的经验来看这种情况: 将游戏pipe理器作为内存中的单个共享对象:我认为这可能是一个rediscaching对象,将在每次状态更改时重新加载,并以新状态再次保存,这似乎是一个很大的开销。 另一件我正在考虑的事情是拿着一个游戏pipe理器对象的散列,每个正在进行的游戏作为一个静态对象,可以从rails应用程序的任何地方访问。 任何我在这里失踪? 这可以以某种方式改善或任何其他方法来做这种function? 有一个计时器,在等待玩家进行动作时发出嘀嗒如同任何基于回合的游戏,我需要等待特定的秒数,直到玩家反应,如果玩家不采取行动让我们说20秒,那么服务器应该自动移动到下一个玩家。 我真的不知道如何在轨道上做到这一点。 我考虑的一种方法是延迟的任务,在20秒之后运行,并且如果用户在其之前行动,到期的玩家转向或被取消。 (使用sidekiq作为这些任务的例子)。 编辑 我被困在devise如何实现实际的游戏逻辑,这就是为什么我需要一个游戏经理,每个活跃的游戏(每个游戏至less有2个玩家)需要有一个计时器滴答滴答,那里需要一个如果玩家没有轮到下一个玩家,则在x秒后callback。 由于每个请求的无状态性质,我不明白我该如何做到这一点,我需要在内存中存储游戏状态并以某种方式运行计时器。 我相信我可以在node.js中的游戏逻辑中解决这个特定的问题,但我宁愿使用node.js来pipe理套接字连接,并通过redis pub / sub接收事件。

我试图从NodeJS中提取JSON数据的某些值

情况如下: 我有一个Rails应用程序,它会刮掉一个网站,并将有效的JSON输出到一个平静的API端点。 到目前为止,我可以得到与我的Node.js脚本的JSON,但我不能将我需要的值存储到本地variables。 这是json: [{"cohort":"1507","teacher":"Josh M."}] 我想将"1507"存储在一个variables以及"Josh M." 我目前的脚本是: var http = require('http'); var url = 'http://localhost:8080/api/v1/classroom_bs'; http.get(url, function(res){ var body = ''; res.on('data', function(chunk){ body += chunk; }); res.on('end', function(){ var responseB = JSON.parse(body); var responseBStr = JSON.stringify(body); var jsonB = JSON.parse(responseBStr); console.log(responseB); console.log(responseBStr); console.log(jsonB); }); }).on('error', function(e){ console.log("Error: ", e); }); 任何帮助将不胜感激! 我已经尝试了一些我发现的function,但由于某种原因,我的所有console.log(Object.keys)返回数字,如"1" […]

在Nodejs和Ruby中encryption

我想encryption一个string并传递给Rails应用程序,所以我在Nodejs和Ruby中都find了encryption库。 在Nodejs中: var crypto = require('crypto'), algorithm = 'aes-256-ctr', password = 'd6F3Efeqd6F3Efeqd6F3Efeqd6F3Efeq'; function encrypt(text){ var cipher = crypto.createCipher(algorithm,password) var crypted = cipher.update(text,'ascii',"base64") crypted += cipher.final("base64"); return crypted; } 结果是: encrypt("1") //-输出 2g== 在Ruby中 def encrypt(des_text) des = OpenSSL::Cipher::Cipher.new('aes-256-ctr') des.encrypt des.key = 'd6F3Efeqd6F3Efeqd6F3Efeqd6F3Efeq' result = des.update(des_text) result << des.final return Base64.encode64 result end 结果是: encrypt("1") # […]

如何以及在哪里开始学习与节点,webpack,redux,反应?

我想做一个web应用程序前端的节点,webpack,redux,反应和后端与rails api项目。 我没有find任何教程与所有这些。 我需要一些解决scheme,我必须开始学习和创build我的项目? [有很多教程/电子书/文件分开的每个部分,但我需要一个单一的教程或文档中的这些部分的path]还想要一些教程如何我可以连接到rails api项目和前端项目?

从mobx-react导入观察者会导致“Uncaught TypeError:超级expression式必须为null或函数,而不是未定义”

我正在使用rails-browserify与我的rails项目来编译reactJS应用程序。 我的节点package.json文件如下所示: { "dependencies": { "babel-core": "^6.13.2", "babel-loader": "^6.2.4", "babel-plugin-transform-decorators-legacy": "^1.3.4", "babel-preset-es2015": "^6.13.2", "babel-preset-react": "^6.11.1", "babel-preset-stage-1": "^6.13.0", "babel-preset-stage-2": "^6.13.0", "babelify": "^7.3.0", "browserify": "^13.1.0", "browserify-incremental": "^3.1.1", "mobx": "^2.4.2", "mobx-react": "^3.5.4", "react": "^15.3.0", "react-dom": "^15.3.0", "react-router": "^2.6.1", "webpack": "^1.13.1" } } 但是,每当我import { observer } from 'mobx-react' ,我都会得到一个 Uncaught TypeError:超级expression式必须为null或函数,而不是未定义的 这对于我导入的任何其他库都不会发生。 react , mobx , react-dom所有import罚款。 让我知道你是否需要任何其他细节。 […]

如何一起使用Nodejs和Ruby on Rails?

我非常喜欢Ruby on Rails,但是我也开发了js节点。 目前我正在制作一个具有聊天function的networking应用程序,其中可能有30人。 为此,我想使用节点js。 我从来没有这样做,我很困惑如何在应用程序之间的stream量分配。 如何共享应用程序之间的状态,例如我将如何共享用户会话将不得不击中每个请求的数据库。

ExecJS :: ProgramError中的欢迎#索引

在安装了Ruby 2.3.3,Rails 5.0.0.1和NodeJS 4.2.6的Ubuntu 16.04上,我生成了一个带有bin/rails generate controller welcome index的玩具控制器。 在运行bin/rails server ,我在浏览器中打开了http://localhost:3000/welcome/index以获得以下错误: ExecJS::ProgramError in Welcome#index Showing /rails-app-path/app/views/layouts/application.html.erb where line #7 raised: ReferenceError: CoffeeScript is not defined Extracted source (around line #7): <%= csrf_meta_tags %> <%= stylesheet_link_tag 'application', media: 'all', 'data-turbolinks-track': 'reload' %> <%= javascript_include_tag 'application', 'data-turbolinks-track': 'reload' %> </head>