Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ruby-on-rails-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 3 控制器名为两个字的ruby on rails路由存在问题_Ruby On Rails 3_Controller_Routes_Action - Fatal编程技术网

Ruby on rails 3 控制器名为两个字的ruby on rails路由存在问题

Ruby on rails 3 控制器名为两个字的ruby on rails路由存在问题,ruby-on-rails-3,controller,routes,action,Ruby On Rails 3,Controller,Routes,Action,我想创建一个名为数据库导入器的控制器 以下是我的跑步记录: rails generate controller database_importer index 这产生了: class DatabaseImporterController < ApplicationController def index end def import # to do. # Receive the uploaded CSV file and import to the data

我想创建一个名为数据库导入器的控制器

以下是我的跑步记录:

rails generate controller database_importer index
这产生了:

class DatabaseImporterController < ApplicationController
  def index
  end

  def import
    # to do.
    # Receive the uploaded CSV file and import to the database.
    CSV.foreach("parse.csv") do |row|

    end
  end
end
以下是我的相关路线:

get 'database_importer/index'
为什么路由引擎试图将我推向导入操作方法

当我尝试更改路由以反映实际的控制器名称(它没有下划线)时,我得到:


您是否也有定义如下的路线:

post 'database_importer/import'

我认为当Rails试图为表单生成路由时,表单操作失败。

不,我根本没有添加该路由。为什么要存在呢?这解决了问题。。。所以要明确一点:我的控制器中的所有操作都需要路由才能正常工作?所有操作都是公共方法?您需要为正在使用的操作定义路由。如果您手工生成HTML并创建了一些虚构的路由,而Rails在渲染时并不知道——当然,由于路由不存在,单击或表单发布将失败。但是如果您使用Rails路由帮助器为您生成表单操作,那么,是的,路由必须存在,以便Rails可以生成适当的href/url,等等。
get 'databaseimporter/index'

Routing Error

uninitialized constant DatabaseimporterController
Try running rake routes for more information on available routes.
post 'database_importer/import'