我的控制器构造函数看起来像
function __construct(MessageRepository $message)
{
$this->beforeFilter('canViewThisMessage', array('only', 'show'));
$this->message = $message;
$this->pagesize = 8;
$this->pageTitle = 'messages';
}
我希望过滤器应用于show动作。看起来像
public function show($id)
{
$message = Message::findOrFail($id);
return View::make('messages.show', compact('message'));
}
但过滤器适用于所有操作,而不仅仅是show方法!为什么会这样?
答案 0 :(得分:1)
我认为不是:
$this->beforeFilter('canViewThisMessage', array('only', 'show'));
你应该使用:
$this->beforeFilter('canViewThisMessage', array('only' => ['show']));
或
$this->beforeFilter('canViewThisMessage', array('only' => 'show'));