在rails中运行ruby脚本

时间:2012-05-06 16:23:47

标签: ruby-on-rails ruby-on-rails-3

我在ruby中创建了一个脚本,现在我需要在rails应用程序中运行它。我有点失落,但我有一个控制器,并希望通过GET / service /:id返回此脚本的结果。我怎么能这样做?

2 个答案:

答案 0 :(得分:4)

根据评论,您似乎希望将其转换为可以从控制器调用的方法。

简单。

在您要调用的控制器的相应模型中定义方法(或者您希望定义方法的任何模型),然后从Controller中调用它。

假设您有一个ScriptRunner模型,并且您想从某个控制器的show动作中调用它。

在ScriptRunner模型中,只需执行

def runscript(id)
...
end

并在您的控制器中,执行

def show
  ScriptRunner.runscript(params[:id])
  @service = Service.find_by_id(params[:id])
end

..或者你想要它做什么。

答案 1 :(得分:2)

Sergio Tulentsev方法是正确的,只需从中制作模型类并从控制器调用模型方法。

或者哪个是错误的和hacky你可以直接从控制器调用你的ruby脚本

def get
  @results = system "ruby your_ruby_script.rb" 
end