我在this点停留在Ruby on Rails教程中。我查看了has_secure_password
类定义,但我无法弄清楚应用程序的哪个部分被称为password=
方法?我没有在我们的教程中的任何地方明确地调用它,而是在我输入的时候:
User.create{blah blah}
进入Rails控制台,它会自动加密密码并将其添加到password_digest
列!
由于方法名称中有=
符号,我无法使用Google,所以请在这里帮助我。
答案 0 :(得分:2)
您的相关信息是:
@user = User.new(name: "Example User", email: "user@example.com",
password: "foobar", password_confirmation: "foobar")
当ActiveRecord模型类接收带有选项哈希的new
或create
时,它们会将哈希键转换为方法名称,并在新生成的模型上调用#{method_name}=
。
这允许控制器模式(或反模式取决于您的视图)
User.new(params)