我打电话就像这样:
value = ./simulated_annealing
哪个是C Object文件,但是Rails告诉我它无法找到该文件。一世 把它放在与其他模型文件相同的目录中(因为它是 由其中一个模型调用),但我想它应该在任何其他模型中 的地方。
我在Ruby之外尝试过这种方法,效果很好。
我该怎么做?
答案 0 :(得分:1)
事情是,当你说:
./simulated_annealing
您明确地说:运行名为simulated_annealing
的文件,该文件位于当前目录中。这就是./
的含义。如果文件位于其他位置,则需要提供其路径,或将该路径添加到环境变量$ PATH。因此,您应该用以下内容替换该行:
/path/to/simulated_annealing
其中/path/to
代表实际路径。
答案 1 :(得分:0)
最佳选择是使用绝对路径来运行程序。例如, 您可以在rails应用程序顶层创建目录“bin” 目录。将程序放在“bin”目录下。然后你可以 执行程序如:
cmd = "#{RAILS_ROOT}/bin/cbin arg1 arg2"
value = `#{cmd}`