指向错误路由的嵌套路由

时间:2017-10-07 06:56:32

标签: ruby-on-rails ruby ruby-on-rails-4 ruby-on-rails-5

在我的路线文件

  resources :shops do
    resources :products
  end

我有一个产品列表,例如

        <% @products.each do |p| %>
        <div class="item">
            <p class="text-center"><%= link_to p.name, shop_product_path(p) %></p>
            <p class="text-center"><strike>Rs.250</strike>&nbsp;<strong>Rs.<%= p.price %></strong></p>
            <center><%= link_to "Order now", new_product_order_path(p), :class => "btn btn-primary" %></center>
        </div>
    <% end %>

但是这里的链接

<p class="text-center"><%= link_to p.name, shop_product_path(p) %></p>

指向

http://localhost:5000/shops/6/products/1

但这应该像

http://localhost:5000/shops/1/products/6

这里的错误是什么?

1 个答案:

答案 0 :(得分:0)

我们需要传递两个对象

<p class="text-center"><%= link_to p.name, shop_product_path(@shop, p) %></p>

p是循环中的@product。