【发布时间】:2014-02-14 15:06:05
【问题描述】:
我希望能够单击我的 rails 应用程序上的“警报”按钮,然后调用 python 来运行特定的警报脚本。
我的具体问题是如何让点击事件调用python脚本?
【问题讨论】:
-
到目前为止你尝试了什么?
标签: python ruby-on-rails-3.2 ruby-1.9.2
我希望能够单击我的 rails 应用程序上的“警报”按钮,然后调用 python 来运行特定的警报脚本。
我的具体问题是如何让点击事件调用python脚本?
【问题讨论】:
标签: python ruby-on-rails-3.2 ruby-1.9.2
查看此 SO 帖子:Call python script from ruby
ruby 提供了多种方法,exec、system,它们都采用,py 文件的路径以及参数。类似的东西
result = exec("python /path/to/script/script.py params")
或者
system 'python /path/to/script/script.py', params1, params2
甚至是反引号
`python /path/to/script/script.py foo bar`
现在,问题是把它放在哪里?我假设您有一个处理点击的控制器,并且您放置此代码的正是这个控制器。查看此链接How to integrate a standalone Python script into a Rails application?
现在细节很大程度上取决于你的 python 脚本。 “警报脚本”是指 Javascript alert() 对话框、flash msg 还是其他任何东西?重构您的 python 代码以返回字符串结果并在 ruby-on-rails 中使用它总是一个好主意。更好的是,尽可能用 ruby 本身编写警报创建脚本!在 3rd 方库设置中可能无法实现,但对于一个简单的独立脚本来说,这是值得的!
【讨论】: