【发布时间】:2014-03-19 18:27:04
【问题描述】:
我正在尝试通过视图中的按钮在 application_controller.rb 中执行 Ruby 方法。 在昨天的一篇文章中,有人告诉我使用 Ajax 调用来执行此操作,因为没有它,只会在页面加载时运行。
我对此很陌生,我很难理解它。
我安装了 rails-Ajax gem,并将它添加到我的 Gem 文件中。
我只是不知道下一步该做什么。
这是我当前的配置。该方法仅在页面加载时运行:
我的看法:
<td><button type="button" onclick="executeit()" class="btn btn- default">executer</button></td>
<script>
function executeit() {
var selectingCommand = document.getElementById("CommandSelect");
var selectedCommand = selectingCommand.options[selectingCommand.selectedIndex].text;
var selectingServer = document.getElementById("serverlist");
var selectedServer = selectingServer.options[selectingServer.selectedIndex].text;
var username=document.getElementById("login").text;
var password=document.getElementById("password").text;
<%execute%>;
}
</script>
我在 application_controller.rb 中的方法:
def execute
require 'rubygems'
require 'net/ssh'
@hostname = "smtlmon02"
@username = "test"
@password = "1234"
@cmd = "ls -al"
@cmd2 = "sudo su - -c 'ls;date'"
@cmd3 = "ls -alrt"
ssh = Net::SSH.start(@hostname, @username, :password => @password)
res = ssh.exec!(@cmd)
res2 = ssh.exec!(@cmd2)
ssh.close
puts res2
end
如果有人能解释怎么做就太好了!
【问题讨论】:
标签: jquery ruby-on-rails ruby ajax