我刚刚使用以下命令创建了一个控制器:
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
我希望当用户输入localhost:3000/legacy_plan_calculator
时能够登陆旧版计划计算器的index
视图
更新:以下是错误页面上"完整跟踪"中的前几行:
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'
而且我不知道这些文件的位置,因此无法从这些文件发布相关代码。
process
是一个保留字,只需将其更改为任何其他字即可。