2013-06-21 44 views
0

我正在嘗試在到達創建資源之前要求驗證並已相應地分離了我的資源路由。驗證創建導致路由問題的資源

Route::resource('posts','PostsController', ['except' => ['store','edit','update','destroy','create']]); 

Route::group(['before'=>'auth'], function() { 
Route::resource('posts','PostsController', ['only' => ['store','edit','update','destroy','create']]);}); 

現在由於某些原因,當要去發佈/創建它將我重定向到顯示路線。 auth在所有其他路徑上工作正常,並且當創建被移除時,它會在發佈創建時請求登錄,但很顯然,我希望此部分不受限制。

回答

1

我建議你改用controller filters

這簡化了路由這樣:

Route::resource('posts', 'PostsController'); 

而且在您的文章控制器的構造函數,您可以配置過濾器:

public function __construct() 
{ 
    $this->beforeFilter('auth', array('except' => array('index', 'show'))); 
} 
+0

爲什麼會這樣工作,它不是通過路由做時,它的工作? 我最初開始這樣做,但認爲最好保持它的路由。 – SamSquanch

+0

我不認爲你應該調用'Route :: resource()'兩次。只是猜測,但。沒有深入瞭解你的代碼...... – Franz