缺少[Route:editor.post]所需的参数

时间:2019-04-17 14:02:50

标签: php laravel

我正在尝试将网站中的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 个答案:

答案 0 :(得分:1)

将表单更改为此:

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

本质上并不需要数组,而只是更清楚地显示哪个变量具有什么值。

Documentation on this part