我已经为 C/Objective-C 构建了一个 Ruby 扩展,现在想在 Ruby on Rails Web 应用程序中使用它,但每次我尝试要求它时,WEBrick 都会崩溃!我所拥有的是:
- 我有一个 Ruby 类:MyRubyObject,它与 C 类(MyExtension)相关联。
- MyRubyObject 已使用一种方法定义:myRubyMethod,它与我的 C 类中的一个函数绑定,MyExtension: myextensionmethod 只返回一个字符串。
- myextensionmethod 本质上调用了另一个库,该库执行大量工作(多个线程等等),但最终返回一个字符串
编译完所有内容后,我得到了一个 MyRubyObject.bundle 文件。使用 IRB,我可以:
需要'./MyRubyObject' p = MyRubyObject.new p.myRubyMethod => "结果!"
这一切都很好,现在我想在 RoR 应用程序中使用它
- 我将 MyRubyObject.bundle 放在我的 RoR 应用程序的 lib 中,然后从控制器类中执行 require ./lib/MyRubyObject.bundle 和 WEBrick 崩溃!!!!
任何帮助将不胜感激!!!
干杯