我最近安装了technoweenie/restful-authentication插件(按照承诺的方式工作),但是在经历过的时候users_controller#created
,我发现了对user
模型上的方法调用的引用
@user.register!
有谁知道定义方法的位置?我几乎搜索了所有生成的代码,但仍然没有看到寄存器方法.
它在restful-authentication/lib/authorization/stateful_roles.rb中定义
event :register do transitions :from => :passive, :to => :pending, :guard => Proc.new {|u| !(u.crypted_password.blank? && u.password.blank?) } end
实际方法register!
是由actions_as_state_machine插件动态创建的,该插件也应该在您的项目中.此方法已插入您的控制器,因为当您生成控制器时,您指定了--stateful
或"--aasm".
如果您想了解更多信息,请在这里写一篇非常好的关于acts_as_state_machine的文章.