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