Laravel 4 - JQuery UI Datepicker вызывает исключение NotFoundHttpException

0

По какой-то причине, когда я пытаюсь использовать функцию datepicker() из JQuery UI в Laravel 4, я получаю ошибку NotFoundHttpException с моей формой. Я думал, что это может быть из-за формата даты, поэтому я уже изменил свой datepicker для отображения в yy-mm-dd, изменив сценарий на $('#orderDate').datepicker({ dateFormat: "yy/mm/dd" }); но это не устранило проблему. Ошибка возникает только тогда, когда я включаю входы, привязанные к datepicker. Я использовал JQuery UI с другими проектами, но никогда с Laravel 4, поскольку я все еще довольно новичок в этом. Если бы кто-нибудь мог указать, где я буду ошибаться, это будет очень признательно! Спасибо огромное!

Вот (соответствующая часть) моего взгляда:

@extends('layout.main')

@section('content')

{{ Form::model($order, array('route'=>array('order-edit-post', $order->id), 'name', '=', 'orderForm', 'id', '=', 'orderForm')) }}

        {{ Form::label('order_name', 'Order Name:')}}
        {{ Form::text('order_name') }}
        @if($errors->has('order_name'))
            {{ $errors->first('order_name') }}
        @endif

        {{ Form::label('orderDate', 'Order Date:')}}
        {{ Form::text('orderDate') }}
        @if($errors->has('orderDate'))
            {{ $errors->first('orderDate') }}
        @endif

        {{ Form::label('dueDate', 'Due Date:')}}
        {{ Form::text('dueDate') }}
        @if($errors->has('dueDate'))
            {{ $errors->first('dueDate') }}
        @endif

контроллер:

public function postEdit($id){
        $validator = Validator::make(Input::all(),
            array(
                'order_name'            =>'required',
                'st_address'            =>'required',
                'date_order'            =>'required',
                'date_post'         =>'required',
            )
        );
    if($validator->fails()){
        return Redirect::route('order-edit')
                ->withErrors($validator)
                ->withInput()
                ->with('global', 'You done messed up.');
    }   else {
        /*Edit Order*/
        $order          = Order::find($id);                 
        $order->order_name      = Input::get('order_name');
        $order->date_order      = Input::get('date_order');
        $order->date_post       = Input::get('date_post');*/

        if($order->save()){
            return Redirect::route('home')
                    ->with('global', 'Your order has been    edited.');
        }
    }

    return Redirect::route('home')
            ->with('global', 'Your order could not be edited.');

}

И, наконец, Маршрут:

/*Edit Order (POST)*/
                Route::post('/orders/{orders}/edit', array(
                    'as'    => 'order-edit-post',
                    'uses'  => 'OrderController@postEdit',
                ));
Теги:
datepicker
laravel-4

1 ответ

1
Лучший ответ

Вероятно, вы получите лучший совет от кого-то другого, но в такой ситуации я использовал преднамеренный саботаж кода. Если я вставлю

throw new Exception ('DESCRIPTION OF PLACE IN CODE');

непосредственно перед строкой кода, я думаю, может бомбить, а затем сразу же переместить его, я могу определить, вызвана ли эта авария этой линией - авария предотвратит исключение. В вашем случае я бы попробовал это до и после операторов if, вызывающих перенаправления. Мое подозрение в том, что перенаправление на редактирование заказа - это неудача - любой шанс, который вы не указали в вашем файле route.php?

  • 1
    Я рад услышать о лучших методах проведения такого рода тестирования без установки и изучения дополнительного программного обеспечения (я рассмотрю это в моем следующем проекте ...).
  • 0
    Спасибо, эта идея помогла сузить ее до моего валидатора. Я забыл добавить $ id, поэтому он должен выглядеть следующим образом: if($validator->fails()){ return Redirect::route('order-edit', $id) ->withErrors($validator) ->withInput() ->with('global', 'You done messed up.'); } else {
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню