在我的应用程序中调用“password =”方法在哪里?

时间:2012-04-12 15:38:30

标签: ruby-on-rails

我在this点停留在Ruby on Rails教程中。我查看了has_secure_password类定义,但我无法弄清楚应用程序的哪个部分被称为password=方法?我没有在我们的教程中的任何地方明确地调用它,而是在我输入的时候:

User.create{blah blah} 

进入Rails控制台,它会自动加密密码并将其添加到password_digest列!

由于方法名称中有=符号,我无法使用Google,所以请在这里帮助我。

1 个答案:

答案 0 :(得分:2)

您的相关信息是:

@user = User.new(name: "Example User", email: "user@example.com", 
             password: "foobar", password_confirmation: "foobar")

当ActiveRecord模型类接收带有选项哈希的newcreate时,它们会将哈希键转换为方法名称,并在新生成的模型上调用#{method_name}=

这允许控制器模式(或反模式取决于您的视图)

User.new(params)