如何从嵌套表单发送参数?

时间:2016-01-16 23:49:07

标签: ruby-on-rails arrays ruby reactjs

我正在POST发出nested formreactjs请求,该请求是ajax写的,因此它向create发出了products controller个请求getInitialState的方法。

反应代码:

我这样的getInitialState: function() { return { products: [{name: '', price: '', quantity: ''}], count: 1 }; }, 中有一个空对象

handleSubmit: function(e) {
  e.preventDefault();
  var productsArray = this.state.products;
  $.ajax({
    data: {
      product: productsArray
    },
    url: '',
    type: "POST",
    dataType: "json",
    success: function ( data ) {
      console.log(data);
      // this.setState({ comments: data });
    }.bind(this)
  });
},

当我提交表格时,

parameter

对象被填充,Parameters: {"product"=>{"0"=>{"name"=>"", "price"=>"", "quantity"=>""}}, "shop_id"=>"gulshop"} 哈希就像这样

ActiveRecord::UnknownAttributeError (unknown attribute '0' for Product.):

所以我得到了

parameter

我如何获得Parameters: {"product"=>[{"name"=>"", "price"=>"", "quantity"=>""}], "shop_id"=>"gulshop"} 这样的哈希:

{{1}}

可以做些什么?

1 个答案:

答案 0 :(得分:0)

产品的原始错误'未知属性'0'。是因为Product类没有属性'0'。我不确定'0'的来源,因为你还没有发布你的反应代码来发出请求。

您可以使用jQuery的.ajax方法轻松地从组件发出请求。 e.g

alloc2()

您的控制器中会出现以下内容:

malloc()