我正在构建一个示例应用,让用户可以创建一个包含多个“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 %>
答案 0 :(得分:1)
这些路线看起来正确,这看起来应该有效。也许尝试在路径中显式调用id:
word_group_word_lists_path(word_group.id)