Javascript 主干将成员添加到模型

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

如何将“成员”正确添加到主干模型? (我使用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(后端正确执行操作),但我无法添加代码我的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
,这对我来说是有意义的。你需要一个地方把东西的清单放在订单上,通常称为购物车,这样你就可以了。我会考虑的。你可以发布首先评论作为主题的答案。谢谢你的回答。