【发布时间】:2013-06-11 09:07:18
【问题描述】:
我对 Rails 还很陌生,但关注的是excellent suggestion/walkthrough here。我已经创建了我的两种用户类型(客户和开发人员),可以成功地使用 Devise。但是,我还希望允许这两种用户类型在登录后编辑他们的一些属性。这些属性也特定于他们的用户类型(客户端特定字段或开发人员特定字段)。
为此,我认为我需要在user_registrations_controller 中创建一个自定义的update,它继承自Devise::RegistrationController,这样才有意义。然而,在我的定制过程中,我意识到在update 中我无法从Devise::RegistrationController 调用其他默认方法。作为健全性检查,我用原始 update 中定义的 update 方法的精确副本覆盖了 update,但仍然存在此问题。
更具体地说,我收到的错误是:undefined local variable or method 'account_update_params' for #<UserRegistrationsController:0x007fe4f0342d58>,尽管 account_update_params 是继承控制器中的一个方法。
是否有更好的方法可以在 Devise 中编辑特定于我的用户类型(客户/开发人员)的字段,而无需自定义 update?另外,这个错误是怎么回事,因为我相信我是从Devise::RegistrationController 继承的?
有什么想法吗?非常感谢帮助和建议! =)
版本:Rails 3.2.12,ruby 1.9.3p249
【问题讨论】:
-
我当时设法解决了这个问题,完全避免了这个问题。但差不多两个月后,我再次来到这里,意识到这个问题仍然存在=\。事实上,我完全忘记了我发布的这个问题,并且做了完全相同的步骤,唉,遇到了完全相同的问题。非常感谢任何帮助 =)。
标签: ruby-on-rails-3 inheritance devise controller