我第一次尝试设计。我正在关注链接:https://github.com/plataformatec/devise。在这里,我执行了命令:
rails generate devise MODEL
当我执行此操作时,会创建模型和视图部件。当我检查路线时,我注意到有一个名称为MODEL的控制器:但是我没有在项目中找到控制器。我的查询我们如何才能找到是否生成控制器并在项目中使用该控制器。 提前谢谢。
答案 0 :(得分:4)
devise
提供了许多命令..
rails generate devise:install
- 将创建config/devise.rb
rails generate devise User
- 将创建db/migration-file-for-user-model
评论代码,如果您需要其他模块,可以取消注释,例如{{ 1}},confirmable
等omniauth
- 将分别在rails generate devise:views
文件夹中创建包含devise
,app/views/devise/sessions
,app/views/devise/confirmations
等文件夹及其视图的所有视图。registrations
- 将创建rails generate devise:views users
,app/views/users/passwords/
.etc的文件夹,而不是上面的app/views/users/confirmations
文件夹。devise
- 将创建所有rails generate devise:controllers
.. 类似于上面 ...此处它将使用默认注释代码创建controllers
,您需要编辑其他保留基本身份验证。此外,您还可以在最后添加app/controllers/devise/sessions_controller.rb
范围,以在users
中生成控制器而不是controllers/users/
你也可以通过这个好devise tutorial ..
希望它有所帮助。
答案 1 :(得分:2)
正在运行
rails generate devise MODEL
使用Devise gem时不会为您创建控制器。
在您的情况下,如果您想要更改Devise控制器中的任何方法,您可能需要创建自己的继承Devise控制器的控制器。
例如,更改设备注册控制器以允许名字和姓氏将需要您在app / controllers / MODEL / registrations_controller.rb下创建自己的控制器
Link to Devise controllers here
class MODEL::RegistrationsController < Devise::RegistrationsController
before_filter :configure_permitted_parameters
protected
def configure_permitted_parameters
devise_parameter_sanitizer.permit(:sign_up, keys: [:first_name, :last_name])
end
end
并指示您的routes.rb使用控制器
devise_for :MODEL, :controllers => { :registrations => "MODEL/registrations" }
答案 2 :(得分:1)
将模型替换为用户
rails generate devise User
它将在app / modesld / user.rb下生成User模型,在app / controllers / users_controller.rb下生成用户控制器
使用命令运行迁移以在数据库下添加用户表:
rake db:migrate