错误 - 没有路由匹配

时间:2013-12-12 22:39:56

标签: ruby-on-rails-3.2

我正在构建一个示例应用,让用户可以创建一个包含多个“Word Lists”的“Word Groups”集合,而这些“Word Lists”又包含多个“自定义单词”

  #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错误输出 - “错误 - 无路由匹配{:controller =&gt;”word_lists“,:word_group_id =&gt;#}”

我真诚地感谢您提供的任何帮助!

更新 -

我添加了一个条件来检查word_group在我的视图中是不是nil和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 个答案:

答案 0 :(得分:1)

这些路线看起来正确,这看起来应该有效。也许尝试在路径中显式调用id:

word_group_word_lists_path(word_group.id)