2013-04-14 2 views
1

나는 다음과 같은 링크를 열려고 시도하고 views/admin/slinky_files/new.html.erb라고 볼 수 있습니다 :레일 경로를 라우팅

<%= link_to 'Add New Slinky', new_slinky_file_path %> 

을 그리고 난이 링크를 클릭 할 때 그것은 나에게 오류를 제공합니다

Routing Error 
uninitialized constant SlinkyFilesController 

그리고 물론 이것은 있어야하기 때문입니다 Admin::SlinkyFilesController

어떻게 수정합니까? 어쨌든 new_slinky_file_path 대신에 admin_new_slinky_file_path과 같은 것이 필요하다고 생각하십니까?

rake routes | grep slinky 출력 :

   slinkys GET /slinkys(.:format)       slinkys#index 
         POST /slinkys(.:format)       slinkys#create 
      new_slinky GET /slinkys/new(.:format)      slinkys#new 
      edit_slinky GET /slinkys/:id/edit(.:format)     slinkys#edit 
       slinky GET /slinkys/:id(.:format)      slinkys#show 
         PUT /slinkys/:id(.:format)      slinkys#update 
         DELETE /slinkys/:id(.:format)      slinkys#destroy 
     slinky_files GET /slinky_files(.:format)      slinky_files#index 
         POST /slinky_files(.:format)      slinky_files#create 
     new_slinky_file GET /slinky_files/new(.:format)     slinky_files#new 
    edit_slinky_file GET /slinky_files/:id/edit(.:format)    slinky_files#edit 
      slinky_file GET /slinky_files/:id(.:format)     slinky_files#show 
         PUT /slinky_files/:id(.:format)     slinky_files#update 
         DELETE /slinky_files/:id(.:format)     slinky_files#destroy 
     admin_slinkys GET /admin/slinkys(.:format)      admin/slinkys#index 
         POST /admin/slinkys(.:format)      admin/slinkys#create 
    new_admin_slinky GET /admin/slinkys/new(.:format)     admin/slinkys#new 
    edit_admin_slinky GET /admin/slinkys/:id/edit(.:format)    admin/slinkys#edit 
     admin_slinky GET /admin/slinkys/:id(.:format)     admin/slinkys#show 
         PUT /admin/slinkys/:id(.:format)     admin/slinkys#update 
         DELETE /admin/slinkys/:id(.:format)     admin/slinkys#destroy 
+0

'레이크 루트'출력을 표시 할 수 있습니까? – ted

+0

이미 rake 10.0.4를 활성화했지만 gemfile에 rake 10.0.3이 필요합니다. bundle exec를 사용하면이 문제를 해결할 수 있습니다. – CodeGuy

+0

'bundle clean''rake routes' – ted

답변

1

템플릿 :

<%= link_to 'Add New Slinky', new_admin_slinky_file_url %> 

콘트롤 :

class Admin::SlinkyFilesController < ApplicationController 
    def new 
    @slinky_file = SlinkyFile.new 
    end 
end 

routes.rb :

scope "admin" do 
    resources :silky_files 
end 
+0

이제 [GET]/admin/slinky_files/new와 일치하는 경로가 없습니다. – CodeGuy

+0

@CodeGuy 관련 'routes.rb' 섹션과 관련 '레이크 루트'의 출력. –

+0

이미 컨트롤러 코드가 있습니다. # <# : 0x007fa368257f48> – CodeGuy