如何正确地将“成员”添加到Backbone模型?
(我使用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 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(后端正确执行操作),但我ADDED!
消息。
我做错了什么?
第二个问题:我应该在模特或视野中或其他地方存储我的产品成员 add_product
?
感谢。
答案 0 :(得分:1)
我建议改变设计。
使用GET请求创建或修改某些内容有点奇怪,特别是在像Backbone与Rails交谈的RESTful环境中。
相反,我建议使用Backbone(“购物车”)和Rails(Cart
has_many :items
)中的集合。然后你可以在你的Backbone代码中说cart.create(product_attributes)
,Backbone和Rails中所有常用的RESTful东西都应该单独做正确的事。