我有一个侧边栏,其中包含指向所有用户的链接:shopping_lists。点击其中一个链接后,我想呈现一个显示该特定列表中:list_items
的页面。这是我的侧边栏部分:
<aside class="sidebar-nav-fixed">
<h1>My Lists</h1>
<% if user_signed_in? %>
<% current_user.shopping_lists.each do |l| %>
<ul>
<%= link_to "#{l.name}", '#' %>
</ul>
<% end %>
<% else %>
<h5><%= link_to "Sign in to manage lists.", new_user_session_path %></h5>
<% end %>
</aside>
我的问题是:我将用什么路径代替我当前的存根链接以便路由到正确的列表?提前谢谢!
答案 0 :(得分:2)
这取决于您的路线设置方式。我希望购物清单总是在用户的上下文中,所以可能是这样的:
<%= link_to l.name, user_shopping_list_path(current_user, l) %>
如果购物清单是顶级路线,那么可能是这样的:
<%= link_to l.name, shopping_list_path(l) %>
答案 1 :(得分:1)
您可以做几件事,授权您的路线正确设置:
最简单的是:
link_to "#{l.name}", l
Rails应该创建类似于http://host/shopping_lists/2
以上是
的简写link_to "#{l.name}", shopping_list_path(l)
要查看可以运行的可用路线和方法的列表:
bundle exec rake routes
在rails应用的根目录