2013-04-14 175 views
1

我有一个叫​​观点,我想用下面的链接,打开:Rails的路由路径

<%= 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 OUTPUT:

   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

你能显示你的'rake routes'输出吗? – ted

+0

您已经启动了rake 10.0.4,但您的Gemfile需要rake 10.0.3。使用bundle exec可以解决这个问题。 – CodeGuy

+0

'捆绑干净''耙路线' – 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