在Rails中使用Devise时是否需要“用户”控制器

图片

我是Rails新手。我正在一个小的Rails4项目中尝试提高技能。我大致上遵循M.Hartl的教程

根据教程,将构建自定义用户身份验证。但是,我想使用Devise进行用户身份验证。是否仍然需要本教程中的Users控制器?在已经使用Devise的情况下,应该在什么情况下使用/不使用Users控制器?

关于本教程,我只是跳过控制器生成部分,还是必须将操作映射到Devise?

提姆

如果要与正常的注册/更新过程分开管理用户,则仅需要一个用户控制器。我有一个用户控制器,以便管理员可以独立于正常的设计注册/更新过程来管理(创建,编辑,更新,删除)用户。

与devise的冲突可能是因为您devise_for :users …在routes文件中设置了devise,并且还resources :users为UsersController设计了。这意味着devise和您的UsersController将尝试共享一些相同的/users路线。您需要通过更改其中一个映射到的路径来将它们分开。例如,您可以:path => 'u'devise_for语句中添加一条代码,以便将设计路由映射到,/u并且不会与上的UsersController冲突/users或者,您可以不理会devise_for(因此仍然使用/users),而是将UsersController路由更改为例如,resources :users_admin, :controller => 'users'这会将您的UsersControllers路由移动到/users_admin请注意,这会将路径助手从例如更改users_pathusers_admin_path

更新

在您发表评论/编辑之后,我快速浏览了该教程,我认为该设计基本上为您提供了与用户相关功能的等效功能,该功能从5.4节扩展到大约9.1节或9.2节。(加上一些额外的内容,例如电子邮件确认,密码重置,帐户锁定等)。但是,这并不意味着它是该功能的直接替代品,如果您想尝试将Devise与该教程合并。看起来有些东西可以工作(例如,Devise也定义了一种current_user方法),但是路由等却有所不同,而devise将其分解为更多的控制器(用于注册,登录/注销,密码重置的单独控制器……) )。管理员类型的功能(如2.2、9.3、9节中所述)用户)是我在应用程序中为其添加了单独的UsersController的功能。Devise并未定义UsersController,但users如果您devise_for :users没有上述路径,确实会使用路由

因此,更具体地说:

  1. 如果要启用允许查看/编辑/删除所有用户的管理员类型功能,则只需要一个UsersController。
  2. 如果您想在本教程中使用devise,则可能需要做一些工作才能使内容适应,更改页面上的帮助程序链接等。我还没有完成该教程。

您可能会错过对自己手动完成所有操作所获得的额外理解,但是devise是一种流行的引擎,因此也很高兴知道。如果有时间,您可以完全完成本教程,然后再重新设计!它可以帮助您了解设计在幕后所做的某些事情。PS:即使您不立即了解所有源代码,也可以参考这些源代码。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

生成Devise控制器-Rails Devise

来自分类Dev

使用Devise的Rails 4,使用Rspec测试控制器

来自分类Dev

Rails在控制器中使用哈希

来自分类Dev

AngualrJs:我是否需要在控制器中使用$ scope?

来自分类Dev

在actionPerformed方法中使用控制器-是否需要最终确定?

来自分类Dev

我是否需要在导航控制器子视图中使用GADRequest()的单例?

来自分类Dev

我如何在Rails 4 devise sign_in页面中使用控制器中的对象查看数据

来自分类Dev

在devise / passwords控制器中使用更新方法的Devise 3.2.4“忘记密码”链接

来自分类Dev

Rails 4在控制器中使用模块时遇到问题

来自分类Dev

在其他控制器和视图中创建用户(Rails 4 with Devise)

来自分类Dev

保存当前用户信息并在控制器中使用

来自分类Dev

列出不使用您的控制器的用户列表(Rails)

来自分类Dev

是否可以根据控制器ID在页面中使用控制器?

来自分类Dev

在控制器中使用`this`范围时使用$ scope。$ watch

来自分类Dev

是否建议在AngularJS控制器中使用jQuery方法?

来自分类Dev

是否可以在 ember 控制器或组件中使用 jquery

来自分类Dev

如何在Rails控制器中使用参数

来自分类Dev

在Rails控制器中使用Ajax调用部分渲染

来自分类Dev

在Rails控制器中使用错误的名称空间

来自分类Dev

如何在Rails控制器中使用闭包?

来自分类Dev

在控制器中使用Rails范围查询

来自分类Dev

在rails 3控制器中使用curl?

来自分类Dev

在Rails控制器中使用Ajax调用部分渲染

来自分类Dev

在Rails控制器中使用错误的名称空间

来自分类Dev

在javascript中使用控制器变量(Ruby on Rails)

来自分类Dev

Rails - 无法在控制器中使用 gem

来自分类Dev

在必需的控制器中使用$ transclude时,找不到所需的控制器

来自分类Dev

在函数中使用请求时 Laravel 控制器错误

来自分类Dev

从控制器渲染js时使用Rails Sprockets指令

Related 相关文章

  1. 1

    生成Devise控制器-Rails Devise

  2. 2

    使用Devise的Rails 4,使用Rspec测试控制器

  3. 3

    Rails在控制器中使用哈希

  4. 4

    AngualrJs:我是否需要在控制器中使用$ scope?

  5. 5

    在actionPerformed方法中使用控制器-是否需要最终确定?

  6. 6

    我是否需要在导航控制器子视图中使用GADRequest()的单例?

  7. 7

    我如何在Rails 4 devise sign_in页面中使用控制器中的对象查看数据

  8. 8

    在devise / passwords控制器中使用更新方法的Devise 3.2.4“忘记密码”链接

  9. 9

    Rails 4在控制器中使用模块时遇到问题

  10. 10

    在其他控制器和视图中创建用户(Rails 4 with Devise)

  11. 11

    保存当前用户信息并在控制器中使用

  12. 12

    列出不使用您的控制器的用户列表(Rails)

  13. 13

    是否可以根据控制器ID在页面中使用控制器?

  14. 14

    在控制器中使用`this`范围时使用$ scope。$ watch

  15. 15

    是否建议在AngularJS控制器中使用jQuery方法?

  16. 16

    是否可以在 ember 控制器或组件中使用 jquery

  17. 17

    如何在Rails控制器中使用参数

  18. 18

    在Rails控制器中使用Ajax调用部分渲染

  19. 19

    在Rails控制器中使用错误的名称空间

  20. 20

    如何在Rails控制器中使用闭包?

  21. 21

    在控制器中使用Rails范围查询

  22. 22

    在rails 3控制器中使用curl?

  23. 23

    在Rails控制器中使用Ajax调用部分渲染

  24. 24

    在Rails控制器中使用错误的名称空间

  25. 25

    在javascript中使用控制器变量(Ruby on Rails)

  26. 26

    Rails - 无法在控制器中使用 gem

  27. 27

    在必需的控制器中使用$ transclude时,找不到所需的控制器

  28. 28

    在函数中使用请求时 Laravel 控制器错误

  29. 29

    从控制器渲染js时使用Rails Sprockets指令

热门标签

归档