在我的应用程序中调用“password =”方法在哪里?
问题描述:
我被困在Ruby on Rails教程this点。我经历了has_secure_password
类定义,我不知道应用程序的哪一部分是password=
方法被调用?我没有明确任何地方调用它在我们的教程,但,当我进入:在我的应用程序中调用“password =”方法在哪里?
User.create{blah blah}
到Rails的控制台,它会自动对密码进行加密,并把它添加到password_digest
列!
我一直无法Google,因为=
登录的方法名称,所以请在这里帮我。
答
你相关的信息是:
@user = User.new(name: "Example User", email: "[email protected]",
password: "foobar", password_confirmation: "foobar")
当ActiveRecord的模型类接收new
或create
与期权哈希,他们改造哈希键进入方法名,并调用新生成的模型#{method_name}=
。
这允许控制器模式(或反模式取决于你的观点)
User.new(params)
啊,我不能想通了这一点喽! 非常感谢:) – viswa 2012-04-12 16:15:21