2013-03-03 66 views
0

這真的很奇怪。我在每一個頁面上存在的link_to得到一個路由錯誤即使路由存在,也會發生路由錯誤

這是我的路線

resources :users do 
    member do 
     get :creations_tab, :path => '/creations' 
    end 

它轉換爲

creations_tab_user_path GET  /users/:id/creations(.:format) users#creations_tab 

這是在錯誤發生

<li><%= link_to content_tag(:i," ", :class=>"icon-bullhorn")+ " " +"Creations", creations_tab_user_path %></li> 

奇怪的部分是這個link_to是一個在每頁上存在的導航欄中的鏈接..有些頁面它工作有些不...

這是錯誤

ActionController::RoutingError - No route matches {:action=>"creations_tab", :controller=>"users"}: 
    (gem) actionpack-3.2.12/lib/action_controller/metal/exceptions.rb:11:in `initialize' 
    (gem) actionpack-3.2.12/lib/action_dispatch/routing/route_set.rb:533:in `raise_routing_error' 
    (gem) actionpack-3.2.12/lib/action_dispatch/routing/route_set.rb:529:in `rescue in generate' 
    (gem) actionpack-3.2.12/lib/action_dispatch/routing/route_set.rb:521:in `generate' 
    (gem) actionpack-3.2.12/lib/action_dispatch/routing/route_set.rb:562:in `generate' 
    (gem) actionpack-3.2.12/lib/action_dispatch/routing/route_set.rb:587:in `url_for' 
    (gem) actionpack-3.2.12/lib/action_dispatch/routing/url_for.rb:148:in `url_for' 
    (gem) actionpack-3.2.12/lib/action_view/helpers/url_helper.rb:107:in `url_for' 
    (gem) actionpack-3.2.12/lib/action_dispatch/routing/route_set.rb:213:in `creations_tab_user_path' 
    app/views/layouts/_header.html.erb:43:in `_app_views_layouts__header_html_erb__541622111_70332144' 

回答

2

由於您的路線是一個成員的路線,它會希望提供一個用戶ID。因此,像你這樣做,沒有任何爭論地稱助手是沒有意義的。

我懷疑某些RoR-magic在某些情況下會向幫手提供一個參數 - 但事實上它不應該起作用。

所以給這個幫手一個用戶或用戶ID。

+0

是的,這是它:)謝謝 – 2013-03-03 15:56:48