2012-03-20 50 views
0

我将我的rails2路线文件,该文件的格式如下与动作路由错误而来自rails2转换路线Rails3中

resources :levels ,:collection => {:search =>[:post,:get],:options => :get,:import_csv=>:get,:export=>:get,:upload_csv=>:post,:new=>:get,:edit=>:post,:options => :post} 

到Rails3中休息格式

resources :levels do 
    collection do 
    post 'search' 
    get 'options' 
    get 'import_csv' 
    get 'export' 
    post 'upload_csv' 
    post 'options' 
end 
    member do 

    end 
end 

,我定义这个在我的帮手文件,即

html << link_to('Import Csv',{:controller=>'levels',:action =>'import_csv'}) 

该文件不起作用,而是要'显示'一个第二这是我收到的错误:

ActiveRecord::RecordNotFound in LevelsController#show 
    Couldn't find Level with ID=import_csv 
    app/controllers/levels_controller.rb:23:in `show' 
    Request Parameters: {"id"=>"import"} 

回答

0

有了这个设置你应该会自动为您的自定义集合动作的URL帮手,所以你应该使用:

link_to('Import CSV', import_csv_levels_url()) 

请与rake routes与路线你实际拥有的助手。