我有一个“购物车”模型,用户的购物车ID存储在他们的会话中。
我的路线像这样
map.resources :carts
map.cart "cart", :controller => "carts", :action => "show"
在我的显示视图中,我显示了购物车的内容,一切都很好。
然后我决定希望用户能够从“显示”视图中更新项目数量,所以我将此添加到视图中。
<% form_for @cart do |cart_form| %>
<% end %>
现在我得到以下错误
undefined method `to_sym' for nil:NilClass
在
<% form_for @cart do |cart_form| %>
有趣的是如果我移除
map.cart "cart", :controller => "carts", :action => "show"
从我的路线,并在URL中指定一个购物车ID,它可以工作,但我不想在URL中传递购物车ID。
你知道怎么修这个吗?
[更新]
rake路由如下:
carts GET /carts(.:format) {:controller=>"carts", :action=>"index"}
POST /carts(.:format) {:controller=>"carts", :action=>"create"}
new_cart GET /carts/new(.:format) {:controller=>"carts", :action=>"new"}
edit_cart GET /carts/:id/edit(.:format) {:controller=>"carts", :action=>"edit"}
GET /carts/:id(.:format) {:controller=>"carts", :action=>"show"}
PUT /carts/:id(.:format) {:controller=>"carts", :action=>"update"}
DELETE /carts/:id(.:format) {:controller=>"carts", :action=>"destroy"}
cart /cart {:controller=>"carts", :action=>"show"}