По какой-то причине, когда я пытаюсь использовать функцию 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',
));
Вероятно, вы получите лучший совет от кого-то другого, но в такой ситуации я использовал преднамеренный саботаж кода. Если я вставлю
throw new Exception ('DESCRIPTION OF PLACE IN CODE');
непосредственно перед строкой кода, я думаю, может бомбить, а затем сразу же переместить его, я могу определить, вызвана ли эта авария этой линией - авария предотвратит исключение. В вашем случае я бы попробовал это до и после операторов if, вызывающих перенаправления. Мое подозрение в том, что перенаправление на редактирование заказа - это неудача - любой шанс, который вы не указали в вашем файле route.php?
if($validator->fails()){ return Redirect::route('order-edit', $id) ->withErrors($validator) ->withInput() ->with('global', 'You done messed up.'); } else {