问题标签 [trinidad-gem]
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 - 从哈希中获取值
我正在使用 gem twitter_oauth
。我放入令牌,然后得到我的access_token
. 现在我想访问这个哈希中的一些信息,但由于某种原因它不会让我这样做。我能做的最好的就是检查它:
我试图访问这样的值:
所有这些都导致了内部服务器错误。报告错误时没有提供其他信息。
我正在使用 JRuby 1.7 RC2 和最新的 Trinidad Web 服务器。我也在 WEBrick 中尝试过这个,并且出现了同样的错误。
session - 不保留会话值
我在 Trinidad 服务器上使用 JRuby(最新,1.7 RC2)/Sinatra 混合,以获取背景信息。
我期望的输出是(带评论):
但我真正得到的是:
并且在发布之后,/signed_in
仍然没有输出价值,当它真的应该是true
。
为什么不保留这些值?不,我没有使用shotgun,我确实启用了会话,并且我确实设置了会话密码。
jsp - 在 Java EE Servlet Webapp 中使用 JRuby 替换 JSP
我一直在使用新的 Torquebox (JBOSS) 应用程序服务器,并且喜欢我目前所看到的,但是 ruby 应用程序似乎与 java webapps 是隔离的。就像它们作为单独的 web 应用程序在孤岛中运行并且混合它们是模糊的,尽管我读到会话可以共享......这很酷。
我有一个以 Java EE Servlet JSP 样式构建的传统 Web 应用程序,我希望能够使用 ruby 作为我的表示层逻辑,而不是正在使用的 JSP。
我应该能够从 Web 请求上下文运行 ruby 资源。就像 apache mod_ruby 开始处理 rhtml...(目标:让 tomcat 或 JBoss 这样做,所以 trinidad 或 torquebox)
例如,我可以用 HelloWorld.rhtml 或 .rb 替换 HelloWorld.jsp(可以调用我的 java 包...)?它也可以调用我的 java 类,因为它是 JRuby ......
到目前为止,我可以单独创建 RoR 应用程序和 sinatra,但是......我想要 Java webapp 中的 ruby 而不是 ruby webapp 中的 Java。
有谁知道我现在问的问题是否可以用 Torquebox 或 Trinidad 实现?
ruby-on-rails - 调试 Rails 和 Trinidad
我正在开发一个使用特立尼达的 rails 3 应用程序。我一直在使用 RubyMine(4.5),但我一生都无法弄清楚如何调试应用程序。它在非调试模式下从 IDE 运行良好,但是当您尝试调试时,它说它无法调试 trinidad 应用程序。为什么会这样说?
我还尝试从命令行运行 trinidad 和 rdebug,然后使用远程调试配置从 RubyMine 附加到它。我可以附加,但我不能设置任何断点。而且,如果不重新启动,对 ruby 代码的更改似乎也不会生效。
我认为在从 RubyMine 进行调试时,我主要通过使用 Webrick 来解决这些问题。在这种情况下,我可以设置并点击断点,但由于某种原因,我对 ruby 代码所做的任何更改在我重新启动服务器之前都不会生效。事实上,我能够即时更改 ruby 代码的唯一方法是在非调试模式下运行应用程序时。
所以我想做的是:使用 RubyMine 中的 trinidad 进行调试,并且能够即时更改 ruby 代码。或者,如果这不可行,请使用 RubyMine 中的 Webrick,并且还可以即时更改代码。
谢谢你的帮助!
jruby - 在 Trinidad 上包含用于 jruby/rails 的罐子
我正在尝试在特立尼达上运行我的 jruby 应用程序。
按照自述文件,我将 trinidad gem 包含在 gemfile 中并运行
rails server -e production -p 80 -d trinidad
当我使用浏览器访问我的服务器时,它给了我一条错误消息,说明它如何无法为我的数据库驱动程序找到正确的类,lib/odbc6.jar
如果我使用 WEBrick 运行该项目,它就可以正常工作。错误消息如下所示:
我究竟做错了什么?
ruby-on-rails - 使用 Trinidad Gem 设置公用文件夹
我正在使用 trinidad gem 运行 rails 应用程序。我正在使用允许我将其与 Rack 处理程序一起使用的方法:
public/
但是,每当我尝试访问 rails文件夹中的某些内容时,它都会给我一堆 404 错误。自述文件似乎建议我添加该选项--public PUBLIC_DIR
,以便服务器知道将什么视为公用文件夹,但是当我将其添加到我的调用中时:
它给了我这个错误:
我的视图和资产管道中的其他所有内容都得到了很好的服务,所以我想我可以将所有内容都放在一个资产文件夹中,但如果可能的话,我想把它做好。此外,似乎由于未正确提供公用文件夹,因此也找不到任何预编译的资产。
trinidad-gem - 将 MIME 定义添加到特立尼达
我正在使用 trinidad gem 来托管我的 jruby 应用程序。
.woff
但是,任何对.ttf
字体文件的请求都会得到400 Bad Request
.
当我使用 jar-ing 项目warbler
并将 jar 文件转储到常规 Tomcat 实例中时,我能够在web.xml
.
但是,我不知道如何为 trinidad gem 使用的 Tomcat 实例执行此操作,并且文档似乎没有列出它。它确实提到了指定一个web.xml
文件用作 Web 应用程序的默认文件,但这似乎是放在WEB-INF
文件夹中的文件,当我为其放入 Tomcat 文件时,服务器没有启动conf/web.xml
。
我还尝试将以下行添加到config/initializers/mime_types.rb
:
但这似乎不会影响public
文件夹(如果确实如此,我会感到惊讶......)。
我在哪里可以找到如何做到这一点?
jruby - 使用 Trinidad 和 Jruby on Rails 应用程序配置 Apache
Trinidad 文档详细介绍了如何启动和运行 Jruby on Rails 应用程序,但是有人可以告诉我/指向我有关如何配置 Apache 以使用 Trinidad 服务器的好教程吗?
sinatra - sinatra 应用在 jruby 上的性能
我有一个 sinatra 应用程序,它的执行速度比我想要的要慢得多。我的第一个怀疑是我自己的代码是瓶颈,所以我将它提取到一个独立的基准测试脚本中。
make_calls 调用我自己的代码的地方。我很高兴地说,当我们达到 100 个线程时,所有线程中 make_calls 的累积时间是 0.6 秒,这对于我的目的来说已经足够快了。我在上面的线程中包装 make_calls 方法的原因是因为我自己的代码使用线程(通过 java.concurrent.FixedThreadPool(500) 的 java 本机线程)/ExecutorService,我想确保这在一个环境中表现良好可能使用其他线程模型。一旦 jruby 热身,单线程中的单次迭代将在大约 0.02 秒内运行。
所以上面是好的,但是当我将它添加到一个 sinatra web 服务器时:
对此端点的请求的响应时间约为 0.5 秒 - 增加并发请求的数量,响应时间以线性方式上升。我已经使用了 jetty-rackup 和 trinidad 来尝试这个,在 linux 和 solaris 上都使用了 jruby 1.7。
我试图优化 trinidad 实例无济于事(最大/最小运行时间等)。我们看到的最佳性能是在线程安全中运行任一服务器!模式,并且两台服务器在此模式下都表现出比较的性能。
谁能向我解释时间消耗在哪里或如何改进此设置?
jruby - 拥有 trinidad 的最简单方法取决于 jruby-rack 的替代版本?
当前的 Trinidad gem 依赖于 jruby-rack 1.1.0,对于我的每一项资产,我的开发日志中都会显示一些错误
/Users/bijan/.rvm/gems/jruby-1.7.3/gems/rack-1.4.5/lib/rack/utils.rb:399 warning: multiple values for a block parameter (2 for 1)
这是一个显然已经在当前的 jruby-rack (1.2) master 分支中解决的问题,我想让 trinidad 依赖于此。
有没有办法从我的 Gemfile 中做到这一点?或者比分叉 Trinidad gem 并指定不同版本的 jruby-rack 更简单的解决方案(并希望它可以工作,因为它可能不会)。