Backbone将成员添加到模型中

时间:2014-01-19 17:39:19

标签: javascript ruby-on-rails backbone.js coffeescript

如何正确地将“成员”添加到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? 感谢。

1 个答案:

答案 0 :(得分:1)

我建议改变设计。

使用GET请求创建或修改某些内容有点奇怪,特别是在像Backbone与Rails交谈的RESTful环境中。

相反,我建议使用Backbone(“购物车”)和Rails(Cart has_many :items)中的集合。然后你可以在你的Backbone代码中说cart.create(product_attributes),Backbone和Rails中所有常用的RESTful东西都应该单独做正确的事。