Итак, я хотел бы обновить запись в Laravel, используя Angular. Это то, что у меня есть, но я боюсь, что это не лучшая практика?Laravel/Angular update RESTfull
Так что, в основном, то, что я делаю сейчас, это: 1. Я получаю форму данных из моего единственного сообщения с функцией «показать» (я думаю, это то, где я уже ошибаюсь, в моей функции обновления)? 2. Я заполняю свою форму этими данными 3. Я пытаюсь обновить данные с помощью функции «update». Я не думаю, что это RESTfull?
Angular.js: Фабрика шоу и обновление:
update : function(
id,
rideEdit
)
{
//rideData.ridedate = $filter('date')(rideData.ridedate, "dd-MM-yyyy HH:mm:ss");
console.log(rideEdit);
return $http({
method: 'PATCH',
url: '/api/rides/' + id,
headers: { 'Content-Type' : 'application/x-www-form-urlencoded' },
data: $.param(rideEdit)
});
},
show : function(
id
)
{
return $http.get('/api/rides/' + id);
}
Angular.js: EditController (это где я заполнить мою форму, и Cath щелчки кнопок, ...).
$scope.rideEdit = {};
var id = $stateParams.id;
// Alles nemen van 1 record
Ride.show(id)
.success(function(data) {
console.log(data);
$scope.rideEdit.Dataname = data.name;
$scope.rideEdit.Description = data.description;
$scope.rideEdit.datetime = data.ridedatetime;
$scope.rideEdit.persons = data.ridepersons;
$scope.rideEdit.vertrekpunt = data.ridevertrekpunt;
$scope.rideEdit.eindpunt = data.rideeindpunt;
});
$scope.updateRide = function() {
console.log($scope.rideEdit);
Ride.update(id, $scope.rideEdit)
.success(function (data) {
ToastFactory
.show('Rit aangepast!');
$location.path('/home');
})
.error(function(error) {
ToastFactory
.show(error);
});
};
Laravel: Ridescontroller:
public function index()
{
$results = Ride::with('user')->get();
return $results;
}
/**
* Store a newly created resource in storage.
*
* @param StoreRideRequest $request
* @return Response
*/
public function store(StoreRideRequest $request)
{
$ride = new Ride($request->all());
Auth::user()->rides()->save($ride);
}
/**
* Display the specified resource.
*
* @param int $id
* @return Response
*/
public function show($id)
{
//$results = Ride::find($id)->with('user')->get();
$result = Ride::find($id);
return $result;
}
/**
* Show the form for editing the specified resource.
*
* @param int $id
* @return Response
*/
public function edit($id)
{
//
}
/**
* Update the specified resource in storage.
*
* @param Request $request
* @param int $id
* @return Response
*/
public function update(Request $request, $id)
{
$updateride = Ride::findOrFail($id);
$updateride->update($request->all());
}
Все работает (за исключением обновления). Итак, у меня есть 2 вопроса: 1. Является ли этот метод ОК с RESTfull? 2. Если это так, что случилось с моей функцией обновления?
Спасибо!