2

我在 Rails 3 应用程序中使用 Devise,并且我成功配置了它,以便它使用用户名作为其身份验证方法而不是电子邮件。问题是在设计的默认注册控制器中,它在传入的参数上调用“update_with_password”方法,这有效地允许用户更改他们的用户名和密码。如果您使用电子邮件作为身份验证方法,这种行为是有意义的,因为期望人们能够更改他们的电子邮件是合理的。但是,使用用户名,我宁愿用户不能更改它们;我只希望他们能够更改密码。最好的方法是覆盖 RegistrationsController,并防止大量分配参数,以便只能更改密码?

希望这很清楚。谢谢!

4

1 回答 1

0

好的,我解决了。我将 attr_readonly 添加到用户名变量中,这样就不能通过批量赋值来更改它。

于 2010-10-02T22:18:32.040 回答