我不确定我应该使用的术语所以请耐心等待,希望如果我没有这个权利,有人可能会挑出正确的问题!
好的..所以我有 Route::resource('gameworlds', 'GameworldsController');
这很好。有你想要的创建,编辑,索引和显示视图,它们都可以正常工作。我想要做的是只允许在用户登录时访问“创建”部分。
例如..我的routes.php文件中有另一条路径:
Route::get('dashboard', array('before' => 'auth', function()
return View::make('dashboard/index');
}));
这可以按预期工作,但我真的不明白如何在“创建”部分的资源路径中放置类似的代码。有人可以向我解释那部分吗?
非常感谢。
DS
答案 0 :(得分:1)
您不需要过滤器,但您可以使用Auth检查方法检查用户是否已登录:
if (Auth::check()) { //Logged in }
在您的控制器方法中确保用户已登录,如果不是,您可以执行重定向,例如:
return Redirect::to('user/login');
但是,如果要使用过滤器,可以在控制器的__construct中使用beforeFilter方法,如下所示:
public function __construct()
{
$this->beforeFilter('auth', array('on' => array('create')));
}