我已设置Route
:
Route::resource('conferences', 'ConferencesController)
Artisan
因此向我展示了一条路线:
POST conferences | conferences.store | ConferencesController@store
当我从Form
视图提交create
时,我收到错误,即我的布局文件中的变量尚未定义。
显示Undefined variable: content
,没有发布任何内容。
我打开了这样的表格:
{{ Form::open(array('url' => '/conferences', 'class' => 'conference-form')) }}
最后,store
中的ConferencesController
方法如下所示:
public function store()
{
$validator = Validator::make(Input::all(), Conference::$rules);
if($validator->passes()){
$conference = new Conference();
$conference->title = Input::get('title');
$conference->description = Input::get('description');
$conference->location = Input::get('location');
$conference->plannedTime = Input::get('plannedTime');
$conference->save();
Mail::pretend();
Mail::send('emails.conference.create', ['title' => Input::get('title'), 'location' => Input::get('location'), 'plannedTime' => Input::get('plannedTime')], function($message){
$message->to('email')->subject('Een nieuw evenement is gemaakt.');
});
Redirect::to('/conferences')->with('message', 'Nieuw event is aangemaakt!');
} else {
Redirect::to('/')->with('message', 'Iets ging mis');
}
}
如何解决此错误?
**编辑:添加了创建方法**
public function create(){
$this->layout->content = View::make('conferences.create');
}
答案 0 :(得分:0)
这应该是非常直截了当的。在您的views目录中,我们通常有一个名为layouts的文件夹,我们将页面结构放在:
// default.blade.php
<html>
<head> </head>
<body>
@yield('content'); // this is where your views will be loaded
</body>
</html>
然后在你的情况下你应该创建一个会议文件夹,然后在其中创建一个文件create.blade.php。
@extends('layouts.default')
@section('content')
// your forms etc
@stop
在ConferencesController里面的create方法
public function create() {
return View::make('conferences.create');
}
最后一件事,当你尝试发送电子邮件时,你应该在to()
函数内传递一个电子邮件地址,并且你传递一个字符串