Articles of ruby on rails 3

如何在rails中提供socket.io客户端文件

我正在写一个rails应用程序,并且我想使用node.js和socket.io将聊天function集成到我的应用程序中。 我打算让我的Rails应用程序部署在一台服务器上,而我的聊天部署在一个更小的服务器上(为了省钱)。 我的推理是,如果一个聊天消息需要30s发送,那么确定是可以的,但是一个页面需要30s加载是不行的。 无论如何,为了这个工作,我需要Rails来服务于socket.io客户端文件。 如果我的小型节点服务器提供客户端文件,那么小型服务器将会阻碍较大的服务器。 我有一个基本的聊天原型启动并运行,但它只适用于服务于客户端文件的节点。 为了让rails提供客户端文件,我需要做些什么? 先谢谢了。

使用黄瓜来testing一个不用rails写的API

我正在编写一个使用非rails框架的API。 我通常使用Cucumber作为BDD,并在我写入RAILS时testingAPI。 当我testing一个写在node.js(或任何其他框架,顶部)上的API时,有没有强烈的理由不使用Cucumber? 强烈的技术原因不这样做可能包括: 黄瓜对铁路的依赖性 node.js存在一个更好的框架 我不知道的其他一些技术原因。

Ruby / node.js + Amazon SES:是否有Amazon SES API?

我已经看到了几个使用亚马逊SES的gem。 但是,我找不到任何由Amazon提供的API来构build没有这个gem的服务。 我怎样才能做什么gem,而不使用gem? 这对我的应用程序非常重要,因为我不断地发送密钥。 谢谢

Rails 3.2.11 Nodejs符号查找错误

我最近从Rails 3.2.8更新到3.2.11的主要安全补丁…虽然我不完全确定,如果这是直接关系到我的问题。 我有一个乘客/ Apache的生产设置,并尝试访问该应用程序时得到以下内容: ActionView::Template::Error (nodejs: symbol lookup error: nodejs: undefined symbol: _ZN2v82V837AdjustAmountOfExternalAllocatedMemoryEi (in /home/cb/public_html/production/app/assets/javascripts/admin.js.coffee)): 4: <title>cb</title> 5: <link href='http://fonts.googleapis.com/css?family=Questrial|Poiret+One' rel='stylesheet' type='text/css'> 6: <%= stylesheet_link_tag "application", :media => "all" %> 7: <%= javascript_include_tag "application" %> 8: <%= csrf_meta_tags %> 9: </head> 10: <body id="main"> app/views/layouts/application.html.erb:7:in `_app_views_layouts_application_html_erb___2747373451058239248_18220480' 它说,这个符号是在admin.js.coffee中引用的,但是这个文件没有代码在里面…只有当它和控制器一起生成时的默认注释。 我在这个服务器上还有另外一个rails应用程序,运行3.2.8几乎完全相同的gem没有问题。 只有在生产服务器上运行时才会出现此错误(CentOS 6.2,NodeJS v0.6.18)

Node.js或ruby刮

我试图做一个应用程序,需要从多个网站抓取大量的数据。 我尝试使用Ruby来抓取网站,但是像Mechanize这样的gem似乎只能抓取静态页面而不是dynamic内容。 我有几个问题关于哪些这些语言,或任何其他语言,我应该使用这个项目(我正在考虑使用节点,因为应用程序中的相当一些元素必须实时)。 是否有可能使用Ruby和/或节点刮dynamic内容? 如果有的话,应该使用哪些工具? 如果多个用户将要从多个站点抓取,你会推荐使用哪种语言? 在稍微不相关的说明中,是否可以将Node和Rails结合起来? 提前致谢!

Heroku REST API – 有没有?

有一个Heroku的API,允许我扩大和缩小我的dynos程序化等? 我已经findAPI文档的链接,但它似乎不存在了。 谢谢

如何在生产模式下从rails上运行nodejs脚本

在我的项目中,试图从rails上运行ruby的nodejs脚本。 我正在像这样在我的product_details_controller中运行: system "node /home/user1/sample.js" 在sample.js是这样做的: var jsdom = require('/usr/local/lib/node_modules/jsdom'), request = require('/usr/local/lib/node_modules/request'); var _mysql = require('/usr/local/lib/node_modules/mysql'); var MYSQL_USER = 'root'; var MYSQL_PASS = 'abc'; var DATABASE = 'example'; var mysql = _mysql.createClient({ user: MYSQL_USER, password: MYSQL_PASS, }); mysql.query('USE ' + DATABASE); mysql.query('select * from product_details', function selectCb(err, results, fields) { if (err) throw err; […]

从rails应用程序发送嵌套的JSON到hapijs应用程序

我使用rails 3.4,node 9和Hapi js 16.5.2 我想要做的是从Rails应用程序发送嵌套的JSON到hapi js应用程序,但有些奇怪的事情正在发生。 我正在使用Rest-Client请求发送POST请求。 JSON的格式如下: data = { time => { start => "12.11.17", end => "13.11.17" }, event => "party" } 请求的格式如下: RestClient::Request.new( :method => :post, :url => "mynodeserverroute", :payload => data ).execute 问题是所有的嵌套元素都是非常奇怪的发送,而不是forms: time: { start: "12.11.17", end: "13.11.17" } 它回来的forms "time[start]": "12.11.17", "time[end]": "13.11.17" 这对以后的validation具有挑战性。 我究竟做错了什么? 我试着在请求中添加以下内容: :header […]

在Rails中使用Redis pub / sub作为消息队列,在Async中使用Node.js

我有一个Rails应用程序发送请求到Node.js应用程序。 node.js应用程序处理请求并返回到Rails应用程序。 这一切都在Rails应用程序中同步完成(应用程序阻塞,直到Node.js返回)。 但是,我打算做的是使这个非阻塞。 我希望Rails应用程序向Node.js应用程序发送请求,并且只有在Node.js应用程序返回时,Rails应用程序才会通过UI向用户显示信息(不会阻止请求)。 这是我第一次需要做这样的事情,我不能知道如何。 我在想,如果我把请求放在一个队列(也许redis pub sub),我可以使用Node.js检索它,处理并再次返回。 这会工作吗? 另外,我怎么知道哪个用户提出了请求(我必须返回由node.js应用程序处理的信息给他)? 谢谢

直接从Rails应用程序发送消息到Node.js和Socket.io推送服务器

我正在构build一个客户端浏览器应用程序,它使用通过AJAX在Ruby Rails 3中编写的服务器端json API。 这一切都很好,没有问题。 但是当其他用户通过API来做事情的时候,我想把数据推送给用户客户端,而不必让客户端不断地在服务器上查询新的数据。 所以我设置了一个Node.js和Socket.IO应用程序来充当推送服务器。 客户端连接到Socket.IO服务器并订阅他们需要的通道。 但问题是我怎样才能让Rails应用程序发送消息到节点服务器在这些渠道发射? 我想我可以在Node服务器上生成一个特殊的路由请求,但有没有更好的方法? 以及如何确保发布的请求来自我的Rails应用程序?