Tag: ruby on rails

Webpacker需要Node.js> = v6.4,而您使用的是v5.4.0

我试图用命令安装rails webpacker: rails webpacker:安装 但我得到的错误:Webpacker需要Node.js> = V6.4,你使用的是V5.4.0 但是inputnodejs –version会返回: v8.4.0

(React on Rails)引擎“节点”与此模块不兼容。 预期版本“…”

对于那些熟悉反应在轨道gem,或更一般地说,纱线: 就在今天,我通过Homebrew将我的Node版本更新到了8.8.1。 现在,当我尝试运行bundle && yarn && foreman start -f Procfile.dev (或者只是安装纱线)时,我得到以下消息: error react-webpack-rails-tutorial@0.0.1:引擎“节点”与此模块不兼容。 预期版本“5.10.0”。 错误发现不兼容的模块 info有关此命令的文档,请访问https://yarnpkg.com/en/docs/cli/install 。 这可能是我遇到的一个非常简单的问题,但是我经过几个小时的debugging就无法修复它。 我尝试手动更新我的节点版本package.json是我的电脑(似乎并没有生效),通过自制软件降级到5.10.0(但无法),甚至升级到最新的版本这也意味着安装webpack的gem。 不pipe我做了什么,我的本地服务器启动(1bundle && yarn && foreman start -f Procfile.dev1)仍然导致上面的错误。 对这个可怜的灵魂有什么想法?

Rails 3 – 权限错误和奇怪的TypeError

尝试打开我的网页上的VDS,然后得到: We're sorry, but something went wrong. We've been notified about this issue and we'll take a look at it shortly. 所以,这里是日志: Started GET "/" for 176.14.194.67 at 2012-01-20 20:39:10 +0300 Processing by PagesController#home as HTML Rendered pages/_unauthorize_home.html.erb (4.0ms) Rendered pages/home.html.erb within layouts/application (36.0ms) Compiled blueprint/screen.css (0ms) (pid 2376) Rendered layouts/_stylesheets.html.erb (16.0ms) Completed 500 Internal […]

请求处理如何与rails,redis和node.jsasynchronous?

对于Web开发,我想混合使用rails和node.js,因为我想从两个世界中获得最好的效果(rails for fast web development and node for concurrency)。 我知道有些人select使用完整的ruby stack,并将eventmachine集成到rails controller中,这样每个请求在事件循环模型中都可以使用光纤进行非阻塞。 我已经能够理解这是如何工作的大局。 但是,我想尝试使用消息队列概念的rails和node.js进行非阻塞请求处理。 我听说这可以通过使用redis作为中介来实现。 我仍然无法弄清楚现在是如何工作的。 从我所能理解的:所以我们有2个应用程序A(rails)和B(node.js)和redis。 Rails应用程序将处理来自通过REST方式通过控制器的用户的请求,然后从那里的轨道将通过redis传递,然后redis将形成队列和node.js应用程序将拿起该队列,并做任何必要的事后(写或从后端数据库读取)。 我的问题: 那么如何提高并发性和可伸缩性呢? 从我所知,因为rails通过控制器同步处理请求,然后写入redis,即使node.js结束可以asynchronous拾取队列,请求仍将被阻塞。 (我有一种感觉,它不是asynchronous的,但如果不是端到端的非阻塞)。 如果redis是中介,node.js会被认为是代理还是应用程序? 我是redis的新手,仍然在学习。 如果我为我的后端数据库(如mongoDB或couchDB)使用100%的noSQL解决scheme,它们可以被redis完全replace,或者redis更像是一个类似rabbitMQ的消息队列工具吗? 消息队列是一个不同于线程或事件循环模型的并发概念,还是应该补充它们? 这就是我的问题。 我是消息队列概念的新手。 将欣赏任何帮助和指向正确的方向和文章,帮助我了解更多。 谢谢。

实时聊天,不想丢失消息 – 使用队列(redis,zeromq)?

我有一个应用程序,有一些实时聊天。 聊天是在客户端和服务器端(nodejs)使用Faye实现的。 现在这个客户端聊天被用在rails应用程序中,当我的页面重新加载/刷新时,我不想丢失在以下情况下可能发生的消息: 我重新加载页面 我从DB获取聊天logging 聊天对方的用户写入5行 我呈现的页面 我错过了5个最近的logging 我想听听你对解决这个问题的意见。 我有一个类似于消息队列的东西,在那里没有传递给客户端的消息只是在那里等待,并在以后通过javascript来访问页面。 我也希望你的意见,如果有人证实,消息队列是适合使用zeromq或在redis中实现简单的队列,我已经使用(不想要很多技术)。

Node.js – 如何编写用于Express的脚手架生成器

我想写我自己的脚手架发电机的Express框架。 我意识到有这样的框架,但我想写我自己的。 我希望function类似于Rails。 例如: generate model user name:String email:String 应在模型目录中创builduser.js ,并在模式中使用两个指定的字段。 我也想为模型生成控制器,使用db连接器进行crud操作: generate controller users mongoose 应该在controllers目录中创buildusers.j ,并且应该包含基于users.j api的crud操作。 我该如何去做同样的事情? PS:后端是IOS应用程序的REST API,所以我不感兴趣生成视图。

尝试使用browserify-rails时失败的资产编译

我正在开发一个Ruby on Rails 4.x项目,我想使用browserify-rails gem,这样我就可以在一些JavaScript文件中使用CommonJS了。 在开发过程中,这在本地非常有效,但是在Heroku上资产汇编失败。 第一个问题是Heroku Ruby buildpack将节点0.4.7添加到/app/bin ,并且首先在PATH环境variables中。 这打破了浏览。 我改变了一个Ruby buildpack,不会这样做,所以现在我的.buildpack文件看起来像这样: https://github.com/PROJECT_NAME_HERE/heroku-buildpack-vendorbinaries.git https://github.com/heroku/heroku-buildpack-nodejs https://github.com/cymen/heroku-buildpack-ruby.git 尝试编译使用CommonJS require的JavaScript资源时发生错误(因此触发了browserify-rails ): rake aborted! Error while running `/tmp/build_a95a51d0-fdb1-4035-ad56-97c40f738540/node_modules/.bin/browserify –list`: /usr/bin/env: node: No such file or directory (in /tmp/build_a95a51d0-fdb1-4035-ad56-97c40f738540/app/assets/javascripts/designer.js)/tmp/build_a95a51d0-fdb1-4035-ad56-97c40f738540/vendor/bundle/ruby/2.0.0/bundler/gems/browserify-rails-f3df1d20b466/lib/browserify-rails/browserify_processor.rb:92:in `run_browserify' /tmp/build_a95a51d0-fdb1-4035-ad56-97c40f738540/vendor/bundle/ruby/2.0.0/bundler/gems/browserify-rails-f3df1d20b466/lib/browserify-rails/browserify_processor.rb:40:in `dependencies' /tmp/build_a95a51d0-fdb1-4035-ad56-97c40f738540/vendor/bundle/ruby/2.0.0/bundler/gems/browserify-rails-f3df1d20b466/lib/browserify-rails/browserify_processor.rb:33:in `asset_dependencies' /tmp/build_a95a51d0-fdb1-4035-ad56-97c40f738540/vendor/bundle/ruby/2.0.0/bundler/gems/browserify-rails-f3df1d20b466/lib/browserify-rails/browserify_processor.rb:13:in `evaluate' … 所以看起来在Ruby on Rails构build步骤中,节点二进制文件是不可访问的。 这是因为节点位于Ruby buildpack的PATH设置不包含/app/vendor/node/bin/node吗? 我试图像这样添加一个postinstall到packages.json : … "scripts": { "postinstall": "ln […]

在heroku的资产编译栏中使用Node

有没有人知道在Heroku上使用https://github.com/dockyard/es6_module_transpiler-rails的旧节点版本是否已经解决。 https://gist.github.com/bcardarella/7384208 复制要点: 我一直与Tilde的Peter Wagenet一起在一个Rails应用程序上使用Heroku的Ember Appkit的支持。 首先是一些背景: Ember Appkit将运行ES6模块作为AMD使用。 为此,我编写了使用Node和Square的es6-module-transpiler软件包的es6_module_transpiler-rails gem。 该软件包使用Esprima进行分析。 旧版JavaScript运行时中保留关键字的问题未被正确引用: https : //code.google.com/p/esprima/issues/detail?id = 469 在我们的本地机器上,一切正常,并且由于我们的Node版本是最近的,所以transpiling不会被popup。 但是,当我们部署到Heroku并且Rails试图预编译它的资产时,Heroku使用的Node版本已经过期。 根据一些研究,默认情况下,Heroku使用的是从2011年4月开始的Node v0.4.7。很容易强制Heroku使用Node的更新版本: https : //devcenter.heroku.com/articles / nodejs-support#版本,但目前还不清楚这是否会与Rails应用程序并行运行以进行预编译。 此外,我不认为要求Rails开发人员在应用程序中包含Heroku的Nodeconfiguration代码是合理的。 我恭敬地要求Node for Rails资产编译的默认版本会碰到一个更新的版本。

如何让AngularJS检查和使用Rails后端的数据?

就像说我想确保有人注册不使用预先存在的电子邮件地址。 如何使AngularJS文件与Rails用户模型/用户数据库进行交互来查看? NodeJS在这里是必要的吗? 这可以通过一个“独特的”指令来完成(我想遵循的方法)? 我正在使用AngularJS的1.3.0-beta.18版本。 我不知道这是如何改变的东西 – 仍然使用$parsingfunction? 如何使用$ validatorspipe道setValidity? 编辑:我从http://www.ng-newsletter.com/posts/validations.html遇到这个例子。 我如何适应一个典型的Rails设置 – 用户控制器,用户模型和用户数据库? 如果在用户控制器中有一个“唯一”方法,查询用户模型以查看是否有包含该电子邮件参数的条目,该怎么办? 这个“唯一的”方法是由“唯一的”AngularJS指令调用的,并且在registry单中调用该指令。 我已经有一个“独特的”JSON路线,当我做“耙路线”,以及一个“独特的”HTML路线出现。 我知道如何在表单中调用指令,以及如何在表单中进行错误检查,所以这不是问题。 app.directive('ensureUnique', ['$http', function($http) { return { require: 'ngModel', link: function(scope, ele, attrs, c) { scope.$watch(attrs.ngModel, function() { $http({ method: 'POST', url: '/api/check/' + attrs.ensureUnique, data: {'field': attrs.ensureUnique} }).success(function(data, status, headers, cfg) { c.$setValidity('unique', data.isUnique); }).error(function(data, status, headers, […]

启动Rails Server时启动NodeJs

我有一个Rails应用程序,其中包括一个nodejs服务器。 当我启动/停止rails服务器时,是否可以启动和停止nodejs服务器? 我想把rails s放在我的terminal,两个服务器应该启动。 按ctrl + c两个服务器应该停止。