У меня есть модель "корзины", в их сеансе хранится идентификатор корзины пользователя.
Мои маршруты выглядят так
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, это работает, но я не хочу передавать идентификаторы корзины в URL.
Есть идеи, как это исправить, пожалуйста?
[обновление]
маршруты рейка выглядят так:
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"}