ruby - Controller 的简单路由导致 ArgumentErrorr

标签 ruby ruby-on-rails-3 routes

我刚刚使用命令创建了一个 Controller :

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"

我可以在项目中看到 Controller 及其 View 。 Controller 中的 Action 显然是空的:

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 View

更新:这是错误页面上“完整跟踪”的前几行:

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'

而且我不知道这些文件的位置,所以无法发布这些文件中的相关代码。

最佳答案

进程 是一个 reserved word , 只需将其更改为任何其他内容即可。

关于ruby - Controller 的简单路由导致 ArgumentErrorr,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11861227/

相关文章:

ruby - 如何从数组中提取数组?

ruby-on-rails - rails 4 : implementation of shoryuken background process gem

ruby-on-rails - 如何获取 ckeditor 资源以在 Rails 3.1 Assets 管道中编译和加载

c# - WCF 4.0 路由与 mex 使用 System.ServiceModel.Routing.RoutingService

Ruby - 使用某些函数进行常量初始化会产生 NoMethodError

ruby - 如何将 OpenSSL::ASN1::ASN1Data 转换为 IP 地址?

ruby-on-rails - Bundler 安装看似不需要的 gem

ruby-on-rails - rake 数据库 :migrate - how do I undo all migrations and redo them

ruby-on-rails-3 - Rails 3 条路线 : How to avoid conflict with 'show' action?

javascript - 如何让我的 if 语句等待 get 请求使用 Angular 完成( GUARD )