擅长:python、mysql、java
<p>这在一定程度上取决于数据的格式。如果它不太长,并且可以直接在浏览器中呈现,则可以在rails控制器中执行以下操作:</p>
<pre><code>result = `python do_work.py foo bar`
render :text => result
</code></pre>
<p>假设结果是纯ASCII文本,结果将直接进入浏览器。如果要执行的params.py来自用户,那么您必须首先验证它们,这样您就不会为自己创建一个令人讨厌的漏洞。在这种情况下,使用system()调用可能更安全。</p>
<p>如果您想将结果作为文件发送回来,可以查看ruby的Tempfile类来创建文件(以一种不会永远保留的方式),以及rails的send_file和send_data命令,这些命令用于一些不同的选项,以这种方式发送回结果。</p>