我正在尝试添加结帐链接,以便将客户端定向到结帐视图。
我有ProductsController
和OrdersController
,我在其中定义了结帐操作。我这样做是因为我设置它所以产品可以有很多订单。
class OrdersController < ApplicationController
def checkout
@product = Product.find(params[:id])
end
在我的show.html.erb中,我添加了一行:
<%= link_to 'Contribute Now', order_checkout_path, :id => @product, :controller => "orders", :method => :get %>
我的路线看起来像:
root :to => 'products#index'
match '/products' => 'products#index'
get 'order/checkout'
resources :products
resources :orders
在运行rake路线后,我得到:
root / products#index
products /products(.:format) products#index
order_checkout GET /order/checkout(.:format) order#checkout
GET /products(.:format) products#index
POST /products(.:format) products#create
new_product GET /products/new(.:format) products#new
edit_product GET /products/:id/edit(.:format) products#edit
product GET /products/:id(.:format) products#show
PUT /products/:id(.:format) products#update
DELETE /products/:id(.:format) products#destroy
我还定义了一个checkout.html.erb
模板。
完成所有这些后,我不断收到错误:
Routing Error
uninitialized constant OrderController
Try running rake routes for more information on available routes.
我错过了什么?
答案 0 :(得分:3)
您想要get 'orders/checkout'
,对应于您的控制器名称中使用的复数形式的“order”。