1

私はRubyonRailsを初めて使用し、いくつかのRubyスクリプトを管理するための内部サイトを構築しようとしています。私が達成しようとしていること。ユーザーがリンクをクリックして(アナライザーの実行)、rubyスクリプトを実行する(バックグラウンドで実行される-FitAnalyzer.rb)Webページを作成します。別のWebページにリダイレクトせずにこれをルーティングする方法を理解するのに問題があります。基本的に、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)からRubyonRailsを学んでいます。

私が構築しようとしているもののモックアップスクリーンショット

4

1 に答える 1

-1

ルートを追加する必要があります

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

fit_analyzer#execute_analyzer対応します。controller#action

次に、ajax を使用して呼び出す必要があります。そのためには:remote => truelink_to

于 2012-07-18T01:03:07.527 に答える