Rails 中的嵌套路由错误

Nested Routing Error in Rails

我一直收到此错误,但不知道如何解决。请帮忙。

我想在我的销售历史页面上有一个 "complete order" 按钮,它创建一个 Post 操作来开始转移

orders/sales.html.erb

<% @orders.each do |order| %>
    <tr>
      <td class="center"><%= order.profile.user.first_name %></td>
      <td class="center"><%= number_to_currency(order.profile.price) %></td>
      <td class="center"><%= order.buyer.first_name %></td>
      <td class="center"><%= order.created_at.strftime("%B %-d, %Y") %></td>
      <td class="center"><%= button_to "complete order", complete_purchase_profile_order_path(@order, @profile) %></td>
    </tr>
  <% end %>

routes.rb

resources :profiles do
  resources :orders do
    post 'complete_purchase', on: :member
  end
end

post 'complete_purchase/:id' => "orders#complete_purchase"

orders_controller.rb

def complete_purchase
  @order = Order.find(params[:id])
end

耙路

complete_purchase_profile_order POST     /profiles/:profile_id/orders/:id/complete_purchase(.:format) orders#complete_purchase

POST     /complete_purchase/:id(.:format)                             orders#complete_purchase

嗯,首先我认为你的 link "complete_purchase_profile_order_path(@order, @profile)" 有误。应该是"complete_purchase_profile_order_path(@profile, @order)",接下来我想知道你的orders_controller有没有"profiles"命名空间。为什么在路由文件中指定两个 "complete_purchase" 路径?正如 Cyzanfar 所说,请粘贴完整的错误消息和有关命名空间或文件树的更多详细信息。