为什么我不能在Ruby中执行命令?

时间:2014-04-03 11:26:01

标签: javascript html ruby-on-rails ruby command

我有html页面,我想要实现插件的在线工作。目前,用户必须执行4个步骤才能获得报告。我想创建一个按钮,它将在线执行这些步骤。步骤 - 在TaskJuggler中计算。我在计算机上安装了程序。而对于计算,我需要执行命令:tj3'文件名'。

Redmine的插件和我使用Ruby on Rails。

我使用的代码

<h2><%= l(:redmine_taskjuggler)%></h2>
<%= l(:project)%> : <%= @project %> - <%= @project.identifier %>
<p>
<%= submit_tag "Compute in TJ", :type => 'button', :onclick => "javascript:tj3_com()" %>
</p>

<textarea id='placeForText' cols='70' rows='7' disabled></textarea>

<script type="text/javascript">
function tj3_com(){

<% name = "#{@project.identifier.gsub(/-/,'_')}" + '-' + "#{@project.tj_version.to_s.gsub(/\./,'_')}" + '-' +'20140331_145001' + '.tjp' %>
<% outp = `tj3 /home/kitsune/proj/pred-0_0_1-20140331_145001.tjp` %>
document.getElementById('placeForText').innerHTML=document.getElementById('some_doing').innerHTML

}
</script>

<script type="text/template" id="some_doing">
<%= outp %>
</script>

它没有用。但是,如果我使用

<% outp = `ls -l /home/kitsune/` %>

一切正常。

但如果我想使用

<% `ls -l /home/kitsune/ > check.txt` %>

它不工作,文件&#34; check.txt&#34;没有创建。但是如果我在irb中使用所有这些命令(tj3,ls -l),那么它们都在工作。

我不知道如何解决这个问题。任何人都可以帮助我吗?!

1 个答案:

答案 0 :(得分:0)

试试这个:

<% `ls -l /home/kitsune/ > public/check.txt` %>