2

次のコマンドを使用してコントローラーを作成しました。

rails generate controller LegacyPlanCalculator index process

そして、これをroutes.rbファイルに追加しました:

match "legacy_plan_calculator" => "legacy_plan_calculator#index" 

match "/legacy_plan_calculator/process" => "legacy_plan_calculator#process"

プロジェクトにコントローラーとそのビューが表示されます。コントローラーのアクションは明らかに空です:

class LegacyPlanCalculatorController < ApplicationController
  def index
  end

  def process
  end

end

しかし、次のようにしようとすると、次のhttp://localhost:3000/legacy_plan_calculatorエラーが発生します。

wrong number of arguments (1 for 0)

Rails.root: C:/Users/saadr/Dropbox/workspace/gps4money

indexユーザーが入力したときにレガシープランの計算機のビューに着陸できるようにしたいlocalhost:3000/legacy_plan_calculator

更新: エラー ページの「フル トレース」の最初の数行は次のとおりです。

actionpack (3.1.0) lib/action_controller/metal.rb:193:in `process'
actionpack (3.1.0) lib/action_controller/metal.rb:193:in `dispatch'
actionpack (3.1.0) lib/action_controller/metal/rack_delegation.rb:14:in `dispatch'
actionpack (3.1.0) lib/action_controller/metal.rb:236:in `action'
actionpack (3.1.0) lib/action_dispatch/routing/route_set.rb:65:in `call'
actionpack (3.1.0) lib/action_dispatch/routing/route_set.rb:65:in `dispatch'
actionpack (3.1.0) lib/action_dispatch/routing/route_set.rb:29:in `call'

また、これらのファイルがどこにあるのかわからないため、これらのファイルから関連するコードを投稿できません。

4

1 に答える 1

1

process予約語です。他の語に変更するだけで機能します。

于 2012-08-08T09:35:41.040 に答える