Русское сообщество разработки на PHP-фреймворке Laravel.
Ты не вошёл. Вход тут.
Страницы 1
Всем привет! Что-то странное происходит. Схема работала в 4.2, в 5.1 не хочет.
Итак
Есть роут:
//Routes
$router->group(['prefix' => 'pages'], function($router) {
$router->get('/', function() {
$pages = Page::all();
return view('admin.pages.index', ['pages' => $pages]);
});
$router->get('edit/{id}', 'PageController@edit');
$router->post('edit/{id}', 'PageController@update');
$router->get('new', function() {
return view('admin.pages.new');
});
$router->post('new', 'PageController@create');
$router->get('drop/{id}', 'PageController@destroy');
});
//Вьюха
{!! Form::open(['action' => 'PageController@update', 'method' => 'POST', 'role' => 'form', 'enctype' => 'multipart/form-data']) !!}
public function update($id) {
$v = Validator::make($request->all(), Page::rules());
if ($v->fails()) {
return redirect()->back()->withErrors($v->errors())->withInput();
} else {
$page = Page::edit($request);
return redirect('/dashboard/pages');
}
if (isset($page->id)) {
return redirect('/dashboard/pages');
} else {
return redirect()->back();
}
}
Не срабатывает $router->post('edit/{id}', 'PageController@update');
Перебрасывает именно на http://mydomain/dashboard/edit/{id}, хотя обработка идет именно на странице с нормальным айдишником.
Что не так идет не могу разобраться
Не в сети
Не в сети
расставь везде маркеры по типу dd(num)
и смотри куда выпало. замутил так замутил.
в 5.1 префикс на миддлварю снеси. писать меньше придётся.
да и в идеале crud надо б юзать полноценно, а не частями частей of частей.
Не в сети
и по контроллер-апдейт.
он возвращает редирект а не ссылку
Не в сети
Уф, а подробнее можно? В ларе еще не гуру ))))))
Не в сети
и по контроллер-апдейт.
он возвращает редирект а не ссылку
Но редиректит на адрес из роута же
Не в сети
ну если не гуру, но занимался 4.2 и используешь сложные алгоритмы в роутинге, так нафига?
начни с простого, по мере изучения усложнишь.
Не в сети
hzone пишет:и по контроллер-апдейт.
он возвращает редирект а не ссылкуНо редиректит на адрес из роута же
ты не прав тут
{!! Form::open(['action' => 'PageController@update',
контроллер редиректнуть по всей логике обязан, что и делает
Не в сети
return redirect()
шлёт хедер, затем куда.
он не возвращает как таковую ссылку.
попробуй использовать фасад URL для генерации ссылок
Изменено hzone (23.12.2015 17:42:24)
Не в сети
ты не прав тут
{!! Form::open(['action' => 'PageController@update',
контроллер редиректнуть по всей логике обязан, что и делает
Вот контроллер редиректит на /dashborad/pages. Он выплевывает меня на URL из роута, почему не понимаю.
Не в сети
попробуй использовать фасад URL для генерации ссылок
Не в сети
hzone пишет:ты не прав тут
{!! Form::open(['action' => 'PageController@update',
контроллер редиректнуть по всей логике обязан, что и делает
Вот контроллер редиректит на /dashborad/pages. Он выплевывает меня на URL из роута, почему не понимаю.
я тебе сказал, что redirect = редиректит, а не отдаёт ссылку.
что не понятно в словах "редиректит а не отдаёт ссылку" ??
Не в сети
да и нафига генеришь огород для простого решения.
все параметры отдай во вью, и там на базе простого if-else прими решение какую ссылку сгенерить.
Не в сети
я тебе сказал, что redirect = редиректит, а не отдаёт ссылку.
что не понятно в словах "редиректит а не отдаёт ссылку" ??
ептить! У меня в двух случаях контроллер редиректит на /dashboard/pages, меня же в итоге редиректит на ту же страницу, где отдается на обработку инфа в контроллер, только айдишник подменяется на {id}.
Не в сети
Не в сети
на граблях как на батуте...
попробуй использовать фасад URL для генерации ссылок
и в шаблонах тоже
Не в сети
на граблях как на батуте...
попробуй использовать фасад URL для генерации ссылок
и в шаблонах тоже
пробовал. Не работает.
Не в сети
1) разбей группу - создай всё по отдельности.
2) префикс в 5.1 реализуй на middleware
3) контроллер НЕ ПРЕДНАЗНАЧЕН для генерации ссылок и форм
4) гугли понятия "нормализация" и "оптимизация"
5) гугли чем отличается и в чём сходятся данные и информация
потом задавай вопросы.
Не в сети
Страницы 1