0

この時点で、RubyonRailsのチュートリアルで立ち往生しています。クラス定義をhas_secure_password確認しましたが、アプリケーションのどの部分でpassword=メソッドが呼び出されているのかわかりませんか?チュートリアルのどこにも明示的には呼びませんでしたが、次のように入力します。

User.create{blah blah} 

Railsコンソールにパスワードを自動的に暗号化し、password_digest列に追加します。

メソッド名がサインインしているため、これをGoogleで検索できませんでした=。ここで、私を助けてください。

4

1 に答える 1

2

関連する行は次のとおりです。

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

ActiveRecordモデルクラスがオプションハッシュを受信newするかcreate、オプションハッシュを使用すると、ハッシュキーがメソッド名に変換さ#{method_name}=れ、新しく生成されたモデルが呼び出されます。

これにより、コントローラーパターン(またはビューによってはアンチパターン)が可能になります

User.new(params) 
于 2012-04-12T15:43:41.530 に答える