1

我有一个侧边栏,其中包含指向所有用户的链接: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>

我的问题是:为了路由到正确的列表,我将用什么路径代替当前的存根链接?提前致谢!

4

2 回答 2

2

这将取决于您的路线是如何设置的。我希望购物清单总是在用户的上下文中,所以可能是这样的:

<%= link_to l.name, user_shopping_list_path(current_user, l) %>

如果购物清单是顶级路线,那么可能是这样的:

<%= link_to l.name, shopping_list_path(l) %>
于 2013-08-16T21:53:50.277 回答
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 应用程序的根目录中

于 2013-08-16T21:54:52.120 回答