如何使用devise创建users_controller.rb?

时间:2016-03-19 11:05:35

标签: ruby-on-rails ruby devise

我使用gem: devise通过运行models/user.rb来创建rails g devise User,我使用设计通过运行rails g devise:views来创建视图。现在我要创建controllers/users_controller.rb。我怎么能这样做?

rails g controller users

这是对的吗?此用户是否与devise User相关联?我查看了另一个应用,class UsersController < ApplicationController在那里工作。

我是新人。谢谢你回答。

1 个答案:

答案 0 :(得分:2)

您可以使用其生成命令生成devise个控制器:

rails generate devise:controllers [scope]

scope表示您要创建它的文件夹,例如,如果是用户,则可以将用户作为范围提供,以便在app/controllers/users/中生成控制器。

您需要在路由中指定它,以便rails使用您的控制器:

devise_for :users, controllers: { registrations: "users/registrations" }

如果您需要名为users_controller的控制器,则可以使用以下命令生成它:

rails g controller users

但它不会与devise连接。 new的所有操作(createupdateeditUser)都由设计registrations_controller处理。因此,如果您需要,可以随时覆盖它们。因此,它将调用您的自定义代码而不是默认代码。

如果您创建自己的users_controller,它将是普通的rails控制器。只需为它定义路由并在用户文件夹中创建它将起作用的视图。

您可以在设计维基中找到更多信息:

https://github.com/plataformatec/devise#configuring-controllers

希望这有帮助。