Отсутствуют обязательные параметры для [Route: editor.post] - PullRequest
0 голосов
/ 17 апреля 2019

Я пытаюсь использовать Summernote на своем веб-сайте как часть существующего представления и контроллера, для этого у меня есть следующий код

FileController:

 public function getSummernoteeditor()
    {
        return view('announcements.details');
    }

/**
 *
 * @return \Illuminate\Http\Response
 */

public function postSummernoteeditor(Request $request)
{
    $this->validate($request, [
        'detail' => 'required',
    ]);

    $detail=$request->detail;
    $dom = new \DomDocument();
    $dom->loadHtml($detail, LIBXML_HTML_NOIMPLIED | LIBXML_HTML_NODEFDTD);
    $images = $dom->getElementsByTagName('img');

    foreach($images as $k => $img){
        $data = $img->getAttribute('src');
        list($type, $data) = explode(';', $data);
        list(, $data)      = explode(',', $data);
        $data = base64_decode($data);
        $image_name= "/upload/" . time().$k.'.png';
        $path = public_path() . $image_name;
        file_put_contents($path, $data);
        $img->removeAttribute('src');
        $img->setAttribute('src', $image_name);
    }

    $detail = $dom->saveHTML();
    $summernote = new Summernote;
    $summernote->post_content = $detail;
    $summernote->user_id = Auth::user()->id;
    $summernote->post_id = $request->route('id');
    dd($summernote);
    $summernote->save();

    return view('announcements.details');
}

HomeController:

    public function announcement($id, Request $request){
        $announcements = Announcement::findOrFail($id);
        $categories = Category::all();
        $replies = Reply::all();

        return view('announcements.details', compact('announcements', 'categories', 'replies'));
    }

и маршруты:

Route::get('/mededelingen/show/{id}', 'HomeController@announcement')->name('Mededelingen');
Route::get('/mededelingen/show/{id}',array('as'=>'summernoteeditor.get','uses'=>'HomeController@announcement'));
Route::post('/mededelingen/show/{id}',array('as'=>'editor.post','uses'=>'FileController@postSummernoteeditor'));

И открывающий тег для формы:

<form method="POST" action="{{ route('editor.post') }}">

Я надеюсь, что кто-нибудь сможет помочь мне с этой проблемой, если потребуется пересмотреть больше кода, я бы хотел услышать об этом!

1 Ответ

1 голос
/ 17 апреля 2019

Измените свою форму следующим образом:

<form method="POST" action="{{ route('editor.post', ['id' => $announcement->id]) }}">

Массив не нужен сам по себе, но он просто показывает, какая переменная имеет какое значение.

Документация наэта часть

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...