我在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 时,订单已保存。
答案 0 :(得分:3)
来自docs:
build_association(attributes = {})
返回已使用属性实例化并通过外键链接到此对象但尚未保存的关联类型的新对象。
所以基本上当你使用build_order
时它没有保存它(这就是rails的工作原理)。您可以使用create_order
。