У меня есть контроллер RESTful, который я пытаюсь получить, чтобы получить мой аякс, и я продолжаю получать внутреннюю ошибку 500, метод контроллера не найден.Laravel 4: ajax not routing to controller action
В routes.php у меня есть:
Route::controller('friends', 'FriendController');
В контроллере у меня есть:
class FriendController extends Controller{
public function postAdd(){
$user_id = Auth::user()->id;
$friend_id = Input::get('id');
$friend = new Friend;
$friend->user_id = $user_id;
$friend->friend_id = $friend_id;
if($friend->save()){
return Response::json(array('status' => 'OK'));
}else{
return Response::json(array('status' => 'FAIL'));
}
}
}
и Ajax является:
$.ajax({
url : "{{URL::action('[email protected]')}}",
type : "POST",
data : { id : $(this).attr('val')}
})
.done(function(json){
console.log(json);
});
в результате http://localhost/velser/friends/Add
для URL ,
Любая идея, где я ошибаюсь? И если вы видите какие-либо другие проблемы с кодом, сообщите мне, пожалуйста! Я все еще привык к laravel 4, поэтому у меня все еще есть много вопросов, которые я считаю.
EDIT: Includin модель Friend сейчас тоже:
class Friend extends Eloquent{
protected $table = 'friends';
}
похоже, что вам нужно добавить вручную 'Route :: post ('friends/Add', 'FriendController @ postAdd');', потому что по умолчанию laravel создает только маршрут для друзей @ через запрос POST для контроллера RESTful. Выполните «php artisan routes», чтобы увидеть все созданные вами маршруты. Посмотрите также связанную тему http://stackoverflow.com/questions/18402298/laravel-4-defining-restful-controllers –