在erb视图中从onclick运行bash脚本

时间:2018-09-26 23:43:09

标签: php ruby-on-rails bash

嗨,我想做的是当有人单击图像时运行bash脚本。这是在Ruby on Rails的.erb视图中完成的,正在运行的服务器上确实安装了php。谢谢您的阅读,祝您有美好的一天!

_referenceDataDbContext.EmploymentType.AddRangeAsync(

编辑:我从第一个答案中无法使用onclick语句。但是,我做了一个JavaScript函数来调用该语句。现在,我收到此错误,提示“没有路由匹配{:action =>“ call_script”,:controller =>“ script”},缺少必需的键:[:script_id]“

1 个答案:

答案 0 :(得分:0)

您需要创建一个控制器操作来调用BASH脚本,因此在您的控制器中:

script_controller.rb:

class ScriptController < ApplicationController
 def call_script
   `/home/ncs/slowloris.sh`
 end
end

然后,您需要为此操作创建一条路线,如下所示:

routes.rb:

  get 'call_script' => 'script#call_script', as: 'call_script'

最后,您需要从图片中调用此新端点。

<%= image_tag("longbeards.jpg", :class => "homepage-leftsidepicture",  onclick: "window.open('#{call_script_url}', '_blank')" ) %>