2013-12-12 104 views
1

我建立一個示例應用程序,允許用戶創建包含多個「單詞列表」,「字組」中又包含多個「自定義單詞」錯誤 - 沒有路由匹配

#Word groups, word lists, and custom words 
    resources :word_groups, shallow: true do 
    resources :word_lists, shallow: true do 
     resources :custom_words 
    end 
    end 

我有關的集合路線 -

word_group_word_lists GET /word_groups/:word_group_id/word_lists(.:format)  word_lists#index 
         POST /word_groups/:word_group_id/word_lists(.:format)  word_lists#create 

/word_groups/index.html.erb

<% if current_user.word_groups.any? %> 
    <ol class="word_groups"> 
     <%= render @word_groups %> 
    </ol> 
<% end %> 

/word_groups/_word_group.html.erb

<li> 
    <span class="name panel-body"><%= word_group.name %></span> 
    <span class="name panel-body"><%= word_group.id %></span> 
    <span class="name panel-body"><%= link_to "Manage Lists", word_group_word_lists_path(word_group) %></span> 
</li> 

word_group.name和word_group.id都返回正確的值。

的word_group_word_lists_path錯誤了用 - 「錯誤 - 沒有路由匹配{:控制器=>」 word_lists 「:word_group_id =>#}」

我衷心感謝所有幫助您可以提供!

UPDATE -

我加了一個條件來檢查word_group並非零和not_new在我看來並解決它。

<% if !word_group.nil? && !word_group.new_record? %> 
    <li> 
     <span class="name panel-body"><%= word_group.name %></span> 
     <span class="name panel-body"><%= link_to "Manage Lists", word_group_word_lists_path(word_group) %></span> 
    </li> 
<% end %> 

回答

1

這些路線看起來不錯,這似乎應該工作。也許嘗試明確地呼叫這樣的路徑中的ID:

word_group_word_lists_path(word_group.id) 
+0

謝謝@benjaminjosephw。我也嘗試過,並且我得到以下「無路由匹配{:controller =>」word_lists「,:word_group_id => nil}」 –

+0

和'word_group.id'肯定返回一個整數? – benjaminjosephw

+0

也,我知道這是顯而易見的,但值得檢查,因爲我看不出還有什麼可能是錯誤的 - 你重新啓動rails服務器? – benjaminjosephw

相關問題