我目前正在尝试在索引页面上创建一个链接,以允许用户创建一个项目。我的 routes.php 看起来像
Route::controller('items', 'ItemController');
我的 ItemController 看起来像
class ItemController extends BaseController
{
// create variable
protected $item;
// create constructor
public function __construct(Item $item)
{
$this->item = $item;
}
public function getIndex()
{
// return all the items
$items = $this->item->all();
return View::make('items.index', compact('items'));
}
public function getCreate()
{
return View::make('items.create');
}
public function postStore()
{
$input = Input::all();
// checks the input with the validator rules from the Item model
$v = Validator::make($input, Item::$rules);
if ($v->passes())
{
$this->items->create($input);
return Redirect::route('items.index');
}
return Redirect::route('items.create');
}
}
我曾尝试将 getIndex() 更改为 index() 但后来我得到一个找不到控制器方法。所以,这就是我使用 getIndex() 的原因。
我想我已经正确设置了我的创建控制器,但是当我转到 items/create url 时,我得到了一个
无法为命名路由“items.store”生成 URL,因为这样的路由不存在。
错误。我试过只使用 store() 和 getStore() 而不是 postStore() 但我一直收到同样的错误。
有人知道问题可能是什么吗?我不明白为什么没有生成 URL。