Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby-on-rails-4/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails Rails:将before_操作添加到Desive生成的管理控制器?_Ruby On Rails_Ruby On Rails 4_Devise - Fatal编程技术网

Ruby on rails Rails:将before_操作添加到Desive生成的管理控制器?

Ruby on rails Rails:将before_操作添加到Desive生成的管理控制器?,ruby-on-rails,ruby-on-rails-4,devise,Ruby On Rails,Ruby On Rails 4,Devise,我用Desive制作了一个管理模型。但是我不希望除了管理员之外的任何人都可以访问/admins/sign\u(因为我不希望任何人注册成为管理员)。一个好的解决方案是在操作之前创建一个:authenticate\u admin在admins\u控制器中?如果是这样的话,我该怎么做(因为默认情况下控制器不在控制器文件夹中)?或者有更好的做法吗?如果您仅为管理员使用Desive,可能需要从模型中删除:Registrable选项。这样,没有人可以“注册”成为管理员,只有您有权通过控制台创建新的管理员。最

我用Desive制作了一个管理模型。但是我不希望除了管理员之外的任何人都可以访问
/admins/sign\u
(因为我不希望任何人注册成为管理员)。一个好的解决方案是在操作之前创建一个
:authenticate\u admin在admins\u控制器中?如果是这样的话,我该怎么做(因为默认情况下控制器不在控制器文件夹中)?或者有更好的做法吗?

如果您仅为管理员使用Desive,可能需要从模型中删除
:Registrable
选项。这样,没有人可以“注册”成为管理员,只有您有权通过控制台创建新的管理员。

最好的选择是创建一个用户控制器(基本上,如果您使用的是Desive,您必须覆盖该功能),并且在使用前操作:验证管理员!功能