2017-01-02 6 views
0

Я пытаюсь отправить {слизняка} в маршруте:Отправка слизняка в маршрут, используя запись в форме

Route::post('page-edit/{slug}', '[email protected]'); 

в виду у меня есть:

{!! Form::open(array('action' => '[email protected]')) !!} 

в контроллере:

public function postSavePage($slug = null){ 
dd($slug); 
} 

, но у меня есть ошибка:

Missing required parameters for [Route: ] [URI: page-edit/{slug}]. (View: /var/www/html/CMS/resources/views/admin/pages/page-edit.blade.php) 

Каков правильный синтаксис?

ответ

1

Если вы хотите слизняк быть optional, у вас есть добавить знак вопроса (?) к имени параметра в файле routes.php.

Как так:

Route::post('page-edit/{slug?}', '[email protected]'); 

Если вы не сделаете этого, вы должны добавить слизняка в адрес вашего вида. Как так:

{!! Form::open(array('action' => array('[email protected]', 'slug'))) !!} 

Update:

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

Таким образом, вы можете просто сделать это:

{!! Form::open() !!} 
+0

мой url: 'http: // localhost: 8000/page-edit/strona-2', поэтому в slug должен быть« strona-2 », но если я использую' {!! Форма :: open (массив ('action' => array ('PageController @ postSavePage', 'slug'))) !!} 'и dump' dd ($ slug); 'отображается: 'slug' – Tomasz

+0

Вы должны заменить ''slug'' со значением, которое должно быть в пучке вашего URL-адреса. – Jerodev

+0

Большое спасибо! Это действительно разрешает эту проблему: форма, отправленная на тот же URL-адрес – Tomasz

0

Я думаю, что вам не хватает отправки параметра {slug} в шаблоне лезвия, а также:

{!! Form::open(array('action' => '[email protected]', $slug))) !!} 

В контроллере:

public function postSavePage($slug = null){ 
    // here's you can define $slug var, for example : 
    $slug = 3; 
    return view('admin.pages.page-edit', compact('slug')); 
} 
+0

Когда я использую '$ slug' в форме У меня есть ошибка:' Undefined переменной: слизняка (Вид:/вар/WWW/HTML/CMS/ресурсы/виды /admin/pages/page-edit.blade.php) ' – Tomasz

+0

Я обновил свой ответ, имя написанного мной вида, возможно, неверно, вы должны его проверить. Вы должны передать var, который содержит пулю к представлению, а затем передать его через форму. Надеюсь, это поможет;) –

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

  • Нет связанных вопросов^_^