【发布时间】:2018-02-21 16:16:40
【问题描述】:
我有一个 Rails 4 应用程序,目前正在实现一个购物车。 我不想透露用户 ID、购物车 ID,而只想透露 url 中的购物车项目 ID。 所以基本上,我希望我的路线是这样的;-
/user/cart/plans => show all plans
/user/cart/cart_items/new => add to cart
/user/cart => show current cart with cart items
/user/cart/cart_item DESTROY - delete item from cart
所以在我的routes.rb
resource :user, only: [:edit] do
collection do
patch 'update_password'
get 'show_payment_history'
end
resource :cart
resources :cart_items , only: [:new, :destroy]
...
...
使用上述路线生成的路径是...
update_password_user PATCH /user/update_password(.:format) users#update_password
show_payment_history_user GET /user/show_payment_history(.:format) users#show_payment_history
user_cart POST /user/cart(.:format) carts#create
new_user_cart GET /user/cart/new(.:format) carts#new
edit_user_cart GET /user/cart/edit(.:format) carts#edit
GET /user/cart(.:format) carts#show
PATCH /user/cart(.:format) carts#update
PUT /user/cart(.:format) carts#update
DELETE /user/cart(.:format) carts#destroy
new_user_cart_item GET /user/cart_items/new(.:format) cart_items#new
user_cart_item DELETE /user/cart_items/:id(.:format) cart_items#destroy
但我仍然无法使其工作,例如,user_cart_path 在重定向中不起作用,不知道...是什么问题。
对于我建议的解决方案,我们将不胜感激任何帮助或任何好的方法!
提前致谢
【问题讨论】:
-
当你说“不工作”时,到底发生了什么?
-
于 2018-02-22 10:58:52 +0000 开始 GET "/user/cart" for 103.211.42.252 +0000 无法从 103.211.42.252 渲染控制台!允许的网络:127.0.0.1、::1、127.0.0.0/127.255.255.255 ActionController::RoutingError(未初始化的常量 CartsController):
-
让我尝试复数并运行 agan
-
是的......它通过复数来解决。现在关闭这个问题
-
为什么它被否决...请澄清
标签: ruby-on-rails ruby-on-rails-4 rails-routing nested-routes