Rails マジックに関する質問:
私は IRB と tainted で遊んでいましたか? メソッド、それから私はちょうど次のことをしました:
>> User.first.attributes.collect { |column, value| [column, value.tainted?] }
=> [["phone", true], ["state", false], ["persistence_token", true], ["last_login_ip", true], ["country", true], ["login_count", false], ["last_request_at", false], ["id", false], ["forname", true], ["current_login_at", false], ["name", true]]
一部のパラメーターが汚染されていて、一部が汚染されていない理由を誰かが知っていますか? また、どの列を汚染するかを選択する方法があれば?
編集:
答えてくれてありがとう。
@sgtFloyd: 国を手動で更新しようとしました。そして、ここで何が起こっているのですか:
>> u = User.first
>> u.country = "USA"
=> "USA"
>> u.country.tainted?
=> false
>> u.save
=> true
>> u.country.tainted?
=> false
>> u.reload
>> u.country.tainted?
=> true
>> u.country.class
=> String # it's also string in the database
編集2:
User モデル内のすべてを削除しましたが、一部の String 列は汚染されていないように見えますが、一部の列はそうです...
どうもありがとう!