Rails服务器与控制台:区别是什么?

时间:2015-03-18 05:27:19

标签: c++ ruby-on-rails ruby swig

你们这些比我更了解的人。

我通过swig包装器调用c ++库。当我在rails控制台中运行它时,当我通过我的规范调用它时,它工作正常。但是,当我在服务器模式下调用它时,它会给出

  

SystemStackError - 堆栈级别太深:
  actionpack(4.2.0)lib / action_dispatch / middleware / reloader.rb:79:in'

那就是它!

问题是在服务器模式下发生的事实是否仅指向任何特定的事情?不知道如何调试它。

我已经在服务器模式下使用了一段时间了。但是我稍微重构了一些东西(在c ++ API中称为不同的方法)并且它突然崩溃了,而且只在服务器模式下。

一个例子(不确定它是非常有启发性的):

require 'awcbc' # Not gemified - is this significant? The awcbc.bundle et al is just plonked in an app/cbc directory

class SolverOfThings < ActiveRecord::Base

    def solve_something
        model = Awcbc::Model_Builder.new
        model.solve # Calls C++ library.
    end

end

从控制器调用SolverOfThings :: solve_something,通过html,打破。进入rails c并调用它,不会。

我尝试将ruby堆栈大小增加到荒谬的东西,但没有骰子。

对不起,我已经得到了。有线索吗?

0 个答案:

没有答案