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 所说,请粘贴完整的错误消息和有关命名空间或文件树的更多详细信息。
我一直收到此错误,但不知道如何解决。请帮忙。
我想在我的销售历史页面上有一个 "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 所说,请粘贴完整的错误消息和有关命名空间或文件树的更多详细信息。