2

私は ajax を取得しようとしている RESTful コントローラーを持っていますが、内部サーバー エラー 500、コントローラー メソッドが見つかりません。

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('FriendController@postAdd')}}",
                type : "POST",
                data : { id : $(this).attr('val')}
            })
            .done(function(json){
                console.log(json);
            });

http://localhost/velser/friends/AddURLの結果。

どこが間違っているのか分かりますか?コードに関連する問題が他にある場合は、お知らせください。私はまだlaravel 4に慣れているので、まだ多くの問題があると思います。

編集: Friend モデルも含めます:

class Friend extends Eloquent{
    protected $table = 'friends';
}
4

2 に答える 2

1

最新のlaravelアップデートでテストされたコードに間違いはありません。ただし、更新する必要がありますLaravel Framework。だから走って、

composer update

または、

php composer.phar update

のようなモデルの同じクラス名を持つコントローラーがないことを確認してくださいFriend。次に、テーブルにcreated_atupdated_atフィールドがあることを確認します。このフィールドを使用したくない場合は、この行をモデルに追加してください。

public $timestamps = false;
于 2013-09-29T03:33:31.733 に答える