->(c, k, v) { c.new(k => v).tap(&:valid?).errors[k] }.call(User, :email, "text@example.com")
ポイント
- tap内 で valid? を実行することでメソッドチェーンで errors が呼び出せる。
- ラムダ式を使って変数がコードの後ろに来るようにしてあるので、コンソール内で値を変えながら何度も動かしてみるのが楽。
Permission denied
->(c, k, v) { c.new(k => v).tap(&:valid?).errors[k] }.call(User, :email, "text@example.com")