1

我是 ruby​​ on rails 的新手,并试图建立一个内部站点来管理几个 ruby​​ 脚本。我想要完成的事情;创建网页,用户单击链接(执行分析器)以执行 ruby​​ 脚本(在后台运行 - FitAnalyzer.rb)。我无法理解如何在不重定向到另一个网页的情况下路由它。我基本上需要帮助如何将正确的格式添加到 routes.rb。

分析器.html.erb

<%= link_to "![Execute][1] Analyzer", :controller =>
'fit_anlayzer_controller', :method => 'execute_analyzer'%>

fit_analyzer_controller.rb

class FitAnalyzerController < ApplicationController
  def analyzer
  end

  def execute_analyzer
    # Delayed::Job.enqueue(AnalyzerJob.new(params[:id]), 3)
    # command = 'ruby ~/ruby_scripts/fit_analyzer/FitAnalyzer.rb'
    @execute_command = system 'ruby
/Users/gsypolt/rubyqa_project/ruby_scripts/fit_analyzer/FitAnalyzer.rb'
    flash[:notice] = "Executing FitNesse Analyzer"
  end
end

访问 mylocalhost/fit_analyzer/analyzer 时收到以下消息

No route matches {:controller=>"fit_anlayzer_controller",
:method=>"execute_analyzer", :popup=>true}

我一直在从 lyndia.com 和 book (rails 3 way) 学习 ruby​​ on rails

样机屏幕截图我正在尝试构建的内容

4

1 回答 1

-1

您需要添加路线

# config/routes.rb
match "fit_analyzer/analyzer" => 'fit_analyzer#execute_analyzer'

fit_analyzer#execute_analyzer对应于controller#action

然后你需要使用ajax调用它。为此,请:remote => true在您的link_to

于 2012-07-18T01:03:07.527 回答