Tag: jruby

如何在JavaScript中修改Rails脚本中的全局变量?

我在我的Rails控制器中定义了以下变量: $PATH 在JavaScript中我想更改此变量的值: $(“#resetDefaults”).click(function(){ $PATH = ‘3’; //try 1 = ‘3’; // try 2 }); 我已经尝试了上述两种说法,但无法弄清楚如何做到这一点。

JRuby上的Rails的ActiveRecord数据库gem是什么?

在JRUBY上运行rails时,数据库适配器有两个不同的gem。 Sql Server : sqlserver gem和activerecord-sqlserver-adapter gem Mysql : jdbcmysql gem vs activerecord-jdbcmysql-adapter gem Sqlite3 : jdbcsqlite3 gem和activerecord-jdbcsqlite3-adapter gem Postgresql : jdbcpostgresql gem Vs activerecord-jdbcpostgresql-adapter gem jdbc : jdbc gem vs activerecord-jdbc-adapter gem 所以问题是, jdbcpostgresql和它的长格式activerecord-jdbcpostgresql-adapter gem有什么activerecord-jdbcpostgresql-adapter ?

Gem Load Error是:未定义的方法`type_cast_from_database’用于类`ArJdbc :: MSSQL :: UUIDType’

我现在使用带有Rails 5.1(或5.2)的activerecord-jdbcmssql-adapter挣扎了好几个小时。 我已经安装了ant以便在捆绑期间编译gem。 捆绑过程运行正常但是当我想启动rails时我才刚刚开始 Bundler::GemRequireError: There was an error while trying to load the gem ‘activerecord-jdbcmssql-adapter’. Gem Load Error is: undefined method `type_cast_from_database’ for class `ArJdbc::MSSQL::UUIDType’ 我已经google了很多但没有找到解决方案或暗示导致此错误的原因。 以下是一些更多信息: Java版本: Java(TM)SE运行时环境(版本1.8.0_171-b11) Ruby: jruby-9.1.17.0 操作系统: Win10 部分Gemfile ruby ‘2.3.3’ # Bundle edge Rails instead: gem ‘rails’, github: ‘rails/rails’ gem ‘rails’, ‘~> 5.1.6’ gem ‘activerecord-jdbc-adapter’, github: “jruby/activerecord-jdbc-adapter”, :branch […]

JRuby on Rails与Ruby on Rails,有什么区别?

我想在Rails上试用JRuby和JRuby。 我无法找到有关JRuby on Rails和Ruby on Rails之间区别的信息。 我需要注意哪些不同之处? 注意:这个问题与JRuby on Rails和Ruby on Rails完全相同,有什么区别? ,除了原始问题在2。5年前回答。 我希望有一个最新的答案。

Rails插件可以打包为WAR / JAR文件吗?

可以将插件打包为JAR / WAR文件,类似于整个Rails应用程序可以打包以在JRuby上部署的方式吗?

无法从JRuby gem访问jar依赖项

我在本地系统上创建了一个用于文本挖掘的gem,它依赖于外部Java库来进行分类任务。 我试图通过JRuby在这里利用Java的强大function。 目录结构如下: – classifier/ * classifier.gemspec * Gemfile * Gemfile.lock * lib/ * classifier/ * version.rb * sample_classifier.rb * classifier.rb * java/ * sample_lib.jar * another_sample_lib.jar * yet_another_sample_lib.jar * Rakefile 我正在lib/classifier.rb加载这些jar Dir[“java/*.jar”].each{|jar| require jar} 我已将此gem添加到Git存储库并在我的Rails 3.0.9项目的Gemfile中引用它。 但是,我的sample_classifier.rb无法找到从lib/java下的任何jar中导入的任何类。 如果我将lib/java复制到我的Rails应用程序,事情就有效 lib/ directory 并在sample_classifier.rb添加以下sample_classifier.rb : Dir[“lib/java/*.jar”].each{|jar| require jar} 但是,我不认为在我的Rails应用程序中溢出gem的依赖项是一个好习惯。 有没有更好的方法来实现这一目标? 我环顾四周寻找带有gem的jar文件,但我找到了完全相反的结果,即在jar文件中捆绑gem。 我可以将这些jar添加到Rails的config.autoload_path或类似的东西,以便在应用程序启动时加载它们吗? 将jar依赖项与gem捆绑在一起是一个好习惯吗? 我敢肯定有一个更清洁的方法来做到这一点。

Warbler不包括ActiveSupport语言环境文件

我使用的是Rails 3.1.3,JRuby 1.7.6和Warbler 1.3.8 注意使用JRuby 1.6.7时没有发生这种情况 – 但我们最近尝试更新JRuby版本,这就是此问题开始时的情况。 我们使用Warbler将我们的ruby on rails应用程序打包成一个WAR文件。 该过程预编译所有资产,一切正常(似乎工作正常,命令成功) 然后,我们使用我们的软件(使用JRuby环境 – 1.7.6)部署WAR文件,并使用Jetty作为Web服务器 当服务器尝试解压缩并部署WAR文件时,我们收到以下错误: org.jruby.rack.RackInitializationException: No such file or directory – /home/production/var/tmp/Jetty_0_0_0_0_2525_ui.4.1.4.war____.ed5d4m/webapp/WEB-INF/jar:file:/home/production/var/tmp/Jetty_0_0_0_0_2525_ui.4.1.4.war____.ed5d4m/webapp/WEB-INF/lib/gems.jar!/gems/activesupport-3.1.3/lib/active_support/locale/en.yml from org/jruby/RubyFile.java:838:in `stat’ 我已经检查了解压缩的WAR目录,转到了gems.jar文件,解压缩并检查了所有文件 – activesupport 3.1.3 en.yml文件就在那里。 文件的权限正如我所期望的那样(即没有什么比以前的JRuby 1.6.7有所不同) 编辑 JRuby 1.7.6和Warbler 1.3.8之间存在一个错误 – https://github.com/jruby/warbler/issues/197遇到这种情况后,我尝试使用Warber 1.4.0.beta2 – 修复了warbler- jruby bug,但该修复程序只能让我足够远,以便再次收到丢失的locale / en.yml文件。 有什么建议? 谢谢!

运行rake db:在没有一些初始化器的情况下迁移

我正在尝试运行jruby -S rake db:migrate ,但是每当我进行迁移时,我都不想在config/initializers启动守护进程。 有没有办法做到这一点? 到目前为止,我刚刚将守护进程文件移动到扩展名为.bak的文件,以便在我进行迁移时rails不会加载它。 我怀疑这是一种愚蠢的做事方式。 有没有更好的办法? 哦,我正在跑步(如果重要的话)。

使用JRuby将Ruby on Rails应用程序的所有.rb文件编译为.class,将其打包成.war并部署到Java appserver中

是否可以使用JRuby将Ruby on Rails的所有.rb源文件文件(包括配置源文件文件)编译为.class文件,将其打包成.war文件并部署到JBoss或其他Java应用程序服务器?

你如何为高吞吐量multithreadingRails应用选择gem?

基本上,我被EventMachine烧毁,声称JRuby兼容性,但java实现在标准模式中的线程安全问题上失败( Thread.new{EM.run}在JRuby下不起作用) – 我们说的是非常基本的EM函数这里。 不幸的是,大多数JRubygem都是以前在正确的multithreading环境中没有真正使用的MRIgem(偶尔会有乘客的Thread.new不计算),有点编码为合理的线程安全并且在JRuby中“调整直到测试为绿色”。 考虑到捕获和测试线程安全问题的难度,可以合理地假设这些gem中的许多都会在负载下中断。 当然,基准测试将确定许多这些问题,但基准测试通常很难用于更复杂的工作流程(例如“与第三方登录用户事务处理”),并且几乎肯定会泄漏有趣且难以将错误捕获到生产中足够复杂的应用程序。 所以问题是,如果您有运行相对复杂的高吞吐量multithreadingrails应用程序的经验, 你如何选择gem? (有资源列出经过实战考验的gem等) 如何在部署之前测试线程安全性以及测试后问题多久会泄漏到生产中? 平均而言,您是否经常遇到声称线程安全和/或jruby合规性的gem中的线程安全问题? gem更新多久烧一次你?