问题标签 [jrubyonrails]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ruby-on-rails - 从 OUTSIDE rails 应用程序访问模型
我正在编写一个使用 mysql 支持的模型的 JRuby rails 应用程序。现在,我需要从应用程序外部(通过 EventMachine / 类似)更新模型,以便 Rails 应用程序中的控制器等可以访问新数据。
那么,Rails ORM 在 EventMachine 中可用吗?如果我从 EventMachine 内部更新 mysql 表(如果 ORM 对我不可用),是否会产生灾难性后果?
ruby-on-rails - 如何在 glassfish 中为特定应用程序(或域)设置环境变量
好的,这是我的设置:
在 glassfish 服务器(不是 gem !!!)上运行 JRUBY(和 JRuby on Rails 应用程序)。Jruby 已通过 RVM ( http://rvm.beginrescueend.com/ ) 安装。
RoR 应用程序有它自己的 gemset。(由 rvm 管理)
现在我的问题是,我不知道如何告诉 glassfish 使用不同的 GEM_HOME 和 GEM_PATH 环境变量。
我可以设置 JRuby 主页(配置 > Ruby 容器),但据我所知,无法指定另一个 GEM_HOME 或 GEM_PATH。
请帮忙!
ruby-on-rails - JRuby on Rails:将文件夹添加到类路径
我正在尝试将整个文件夹添加到我的 Rails 应用程序的 JRuby 1.5 类路径中。JRuby Wiki建议如下: “ ......将配置目录添加到 JRuby 类路径中config/environment.rb
:”
这似乎对我不起作用。我是否将它放在Rails::Initializer.run
块之前,之后或内部都没有关系。无论如何,我得到:
例如,我正在尝试在RAILS_ROOT
called下添加一个文件夹resources/foobar
,因此我将以下内容添加到environment.rb
:
同样的错误。
使用 Rails 将文件夹添加到 JRuby 类路径的正确方法是什么?
java - 将 Ruby on Rails 项目转换为 JRuby on Rails 项目
有什么特别的方法可以将 Ruby on Rails 项目转换为 JRuby on Rails 项目吗?现在需要让 Rails 端通过 RMI 与 Java 服务器通信,所以想知道如何进行转换。谢谢。
ruby-on-rails - JRuby:Rake 失败并出现 Gem::Version 错误
在任何调用 rake 时都会收到以下错误。我正在研究在安装了 RVM 的 JRuby (1.5.1) 上运行的 Rails 3。我认为情况并非总是如此,但我不知道如何追踪它。我是否认为这与我安装的 gems (清单包括在下面)有关?
tomcat - 在 Tomcat 中使用 JRuby on Rails 跟踪 PermGen 问题
我们正在运行一个在 Tomcat 下运行的小型 Web 应用程序,该应用程序编写为 JRuby on Rails。我们正在使用与另一个生产 Web 应用程序共享的 Spring 后端。不幸的是,我们不断遇到 PermGen 问题。
操作系统:Ubuntu Linux 2.6.24-24-server #1 SMP x86_64 GNU/Linux Java:1.6.0_21 Tomcat:6.0.28 JRuby:1.5.0 Rails:2.3.7
我们目前正在被谷歌、雅虎和百度抓取,因此网站使用率上升。我一直在使用 JConsole 监视 Tomcat,我们肯定看到了过多类的问题。当 tomcat 启动时,我们加载了大约 12,000 个类。8 小时后,我们加载了近 75,000 个课程。PermGen 同时从 100MB 增加到 460MB。
类卸载正在工作,但它仅在同一 8 小时内卸载了约 500 个类。PermGen 似乎永远不会被收集。
我们正在使用 Tomcat 的以下 VM 选项运行:
显然有某种泄漏。问题是如何在哪里?关于如何追查谁和什么对此负责的任何建议?我希望这是我们的一些非常愚蠢的错误,但我不知道从哪里开始。
任何建议将不胜感激。
编辑
看起来我们正在为每个传入的请求创建一个新类。
编辑 2
它肯定与 JRuby 有关。使用 JConsole,我为类加载器启用了详细模式。这是来自 catalina.out 的示例:
所以问题变成了我如何追踪负责创建这些额外课程的一方?
编辑 3
不确定这是否是问题所在,但不知何故,我们最终得到了大量的类加载器。跑jmap -permstat PID
了,得到:
这似乎有点过分了。大多数是以下三种类加载器之一sun.reflect.DelegatingClassLoader
:org.jruby.util.JRubyClassLoader
或org.jruby.util.ClassCache$OneShotClassLoader
。同样,示例输出来自jmap -permstat
:
ruby-on-rails - 与 rails 初始化程序(2.xx)相反?
当我启动我的 rails 应用程序时,我在 config/initializers/ 中运行了几个守护程序,但我需要一种方法来检测应用程序何时关闭并停止守护程序。
有没有我可以做到这一点的钩子/地方?
jruby - jruby 有没有像 gem 一样的延迟工作?
我正在尝试将 rails 应用程序转换为 jruby on rails。目前,jruby script/delayed_job run
给出:
jruby有没有像delayed_job这样的宝石?
ruby - 大括号:Ruby 和 Rails 中的 [括号]、(括号)和 {Curlies}
因此,当我尝试学习 Rails 以及何时/何地使用它们以及为什么使用它们时,Ruby有时使用大括号而不是 REQUIRE 它们的宽松容忍度给我带来了很多困惑?
有时参数或值被传递,(@user, @comment)
有时它们似乎是[ :user => comment ]
,还有一些只是::action => 'edit'
我说的是[ ] vs ( ) vs { }
都有些什么样的规矩?有什么技巧可以帮助你记住吗?
ruby-on-rails - Rails 和 Jruby 有什么关系?
背景:我有一个可供许多开发人员访问的 java 库 - 通常通过 java。但是,一些开发人员希望通过 Ruby API 访问它。为了实现 Java-Ruby API,我倾向于 Jruby 的方向。
问题:
我主要担心的是这些开发人员将无法在他们当前的 Ruby on Rails 开发框架中使用 API;而是必须在 Jruby 的 rails 环境中运行。会是这样吗?
也许我错过了 Jruby 和 Ruby on Rails 之间的联系。但是看起来你既可以在 Rails 中工作,也可以在 Jruby 的 rails 中工作——这在技术上是两种不同的开发环境吗?
我真的很感激有人能对此有所了解..
编辑:强迫开发人员(实际上是客户更具体)对其项目进行重大更改以适应此 API 并不是一个真正的选择。那么,如果他们的 Rails 应用程序必须转换为 Jruby on Rails 应用程序,那么也许有人可以为我提供另一种选择(除了 Jruby)?