问题描述
在设计中,当用户在注册页面上输入create时,我想在模型中将成员布尔值切换为true。
因此,当调用create时,在保存之前我想将布尔值设为true,但是由于devise没有任何控制器,我该怎么做。我无法扩展设备的注册控制器,因为那样对我无法修改实际的create动作以包含我想要的代码有帮助。我该怎么办?
解决方法
根据设计文档,您可以通过执行rails g devise:controllers users
来生成自定义控制器。然后,它将生成一些带有注释方法的文件,例如users/sessions_controller.rb
:
class Users::SessionsController < Devise::SessionsController
# GET /resource/sign_in
# def new
# super
# end
...
end
您可以取消注释所需的方法,并在super
之后添加自定义代码(否则将不起作用)。
假设您已经使用devise的生成器(User
)生成了rails g devise User
模型,这应该可以解决问题