Rails不在DB中保存数据(使用Angular)

时间:2016-02-24 23:40:03

标签: ruby-on-rails angularjs

我在DB中保存数据时遇到问题。 这是我的 orders_controller:

def create
    order = meal.build_order(order_params)
    respond_with order
end

订单工厂中的功能

o.create = function(order) {
    return $http.post('/orders.json', order).success(function(data){
      console.log(data);
      o.orders.push(data);
    });
};

ordersCtrl (在角度控制器中)调用orders.create

if (!angular.isUndefined($scope.meal)) {
    orders.create({
      meal_id: $scope.meal.id,
      status: "ordered",
    });
}

该代码有什么问题?当我在Rails控制器中写入 order.save 时,订单已保存。

1 个答案:

答案 0 :(得分:3)

来自docs

build_association(attributes = {})

返回已使用属性实例化并通过外键链接到此对象但尚未保存的关联类型的新对象。

所以基本上当你使用build_order时它没有保存它(这就是rails的工作原理)。您可以使用create_order