我是ruby on rails的新手,并试图建立一个内部网站来管理 几个ruby脚本。我想要完成的事情;创建网页 用户单击链接(Execute Analyzer)以执行ruby脚本的位置 (在后台运行 - FitAnalyzer.rb)。我遇到了麻烦 了解如何在不重定向到另一个网页的情况下进行路由。 我基本上需要帮助如何将正确的格式添加到routes.rb。
analyzer.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和书上学习ruby(rails 3 方式)
模拟截图我正在尝试构建的内容
答案 0 :(得分:-1)
您需要添加路线
# config/routes.rb
match "fit_analyzer/analyzer" => 'fit_analyzer#execute_analyzer'
fit_analyzer#execute_analyzer
对应controller#action
然后你需要使用ajax调用它。为此,请在:remote => true
link_to