1
我想創建一個名爲數據庫導入器的控制器。兩個字控制器名稱與軌道路線上的紅寶石故障
這是我跑:
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
當我訪問http://0.0.0.0:3000/database_importer/index
我得到:
Routing Error
No route matches {:action=>"import", :controller=>"database_importer"}
Try running rake routes for more information on available routes.
這裏是我的相關路線:
get 'database_importer/index'
爲什麼路由引擎試圖將我推向導入操作方法?
當我嘗試改變路線,以反映實際控制人名稱(它沒有下劃線),我得到:
get 'databaseimporter/index'
Routing Error
uninitialized constant DatabaseimporterController
Try running rake routes for more information on available routes.
不,我沒有添加任何路線。爲什麼這需要存在? – sergserg
解決了這個問題...所以要清楚:我需要在我的控制器中有所有操作的路由才能工作?所有的行爲都是公開的方法? – sergserg
您需要爲正在使用的操作定義路由。如果您手工生成HTML並構建一些虛構路線,而不是Rails不知道的渲染時間 - 當然點擊或表單帖子會失敗,因爲路徑不存在。但是,如果您使用Rails路由助手爲您生成表單動作,那麼路由必須存在,以便Rails可以生成適當的href/url等。 –