2013-11-13 3 views
1

У меня возникли проблемы с передачей объекта в мой «редактируемый» вид в Laravel 4. URL-адрес генерируется правильно «localhost/edit/1», однако это возвращаемая ошибка:«Некоторые обязательные параметры отсутствуют» Laravel 4

Some manadatory parameters are missing ("offer") to generate a URL for route "get edit/{offer} 

Мои связанные routes.php фрагмент кода:

Route::get('edit/{offer}','[email protected]'); 

OfferController @ редактировать действие:

public function edit(Offer $offer) 
{ 
    return View::make('edit',compact('offer')); 
} 

Просто некоторые дополнительные детали, вот отрывок из «индекса» считает, что инициирует действие:

<a href = "{{ action('[email protected]', $offer->id) }}">Edit</a> 

Я должен также упомянуть, когда я удалить форму лезвия в «/views/edit.blade.php» вид , в том числе заголовок, который указывает $ offer-> id:

<h1>Edit Offer {{ $offer->id }}</h1> 

Что мне здесь не хватает?

+0

Я не знаю, является ли это вашей проблемой или нет, но на вашем маршруте у вас есть несогласованные фигурные скобки, '{]', также, в вашей функции редактирования, вам не хватает одного тика после предложения в 'compact' , –

+0

Спасибо, что указали это, но это не так в коде. У моего ноутбука-разработчика нет интернета в тот момент, когда мне приходилось публиковать сообщения с рабочего стола. –

ответ

1

Вам нужно передать массив action():

<a href = "{{ action('[email protected]', array($offer->id)) }}">Edit</a> 
+0

Я пробовал это, ту же ошибку. Я также попытался изменить действие OfferController @ edit, чтобы принять только $ offer как параметр, и это тоже не работает. Я слежу за ссылочным персонажем за персонажа, и он не работает. –

+0

Просто протестируйте его здесь, чтобы убедиться, и он работает. Таким образом, вы должны делать что-то другое с вашей стороны. Пришлось менять некоторые имена, но: http://puu.sh/5hk2m.png –

1

Ваш Редактировать функция должна быть изменена. Вы передаете id в ссылке, но ожидает экземпляр Offer в функции edit. Предполагая, что Offer является Eloquent модели,

public function edit($id) 
{ 
    $offer = Offer::find($id); 
    return View::make('edit',compact('offer')); 
} 

Надеется, что это помогает.

Смежные вопросы