Javascript 主干将成员添加到模型
如何将“成员”正确添加到主干模型? (我使用RubyOnRails作为后端。)Javascript 主干将成员添加到模型,javascript,ruby-on-rails,backbone.js,coffeescript,Javascript,Ruby On Rails,Backbone.js,Coffeescript,如何将“成员”正确添加到主干模型? (我使用RubyOnRails作为后端。) routes.rb resources :products, only: :show do member do get :add_product # "/products/126/add_product.json" end end app/assets/javascript/views/products/show.js.coffee class Shop.Views.ProductsShow ext
routes.rb
resources :products, only: :show do
member do
get :add_product # "/products/126/add_product.json"
end
end
app/assets/javascript/views/products/show.js.coffee
class Shop.Views.ProductsShow extends Backbone.View
events:
'click #add-to-cart': 'addToCart'
addProduct: ->
$.ajax
dataType: 'json'
url: @model.url() + '/add_product.json'
type: 'GET'
success: ->
console.log 'ADDED!'
响应为200 OK(后端正确执行操作),但我无法添加代码代码>我的js控制台中的消息
我做错了什么
第二个问题:我应该在模型中、视图中或其他位置将我的产品成员存储在哪里?
谢谢。我建议更改设计 使用GET请求创建或修改某些内容有点奇怪,特别是在RESTful环境中,如主干网与Rails对话
相反,我建议在主干(一个“购物车”)和Rails(一个
购物车
,其中有很多:项目
)。然后,您可以在主干代码中说cart.create(product\u attributes)
,主干和Rails中所有常用的RESTful内容都应该自己做正确的事情。(1)使用GET请求修改某些内容很奇怪。(2) 为什么不使用主干集合来表示购物车,然后说向购物车添加一些内容呢?(3) 您是否检查了您的控制器在浏览器的开发工具中返回的内容?我想,add\u product
action应该是带有create
action的购物车实体的一部分(当时我在主干文档中没有找到成员操作的解决方案)。它似乎是从糟糕的设计解决方案中拯救出来的主干:)。我可以再问你一个问题吗:“我不想创建cart
实体,只想用于处理状态(“开始”、“完成”等)的orders
)有状态机。这是一个好的设计解决方案吗?有缺点吗?我不知道state\u machine
,但是在服务器和客户端都有一个单独的Cart
,这对我来说是有意义的。你需要一个地方把东西的清单放在订单上,通常称为购物车,这样你就可以了。我会考虑的。你可以发布首先评论作为主题的答案。谢谢你的回答。