{"blog_title":"Augmented Usamimi","url":"https://izumin.hateblo.jp/entry/2015/02/08/235900","image_url":null,"title":"\u3010Ruby\u3011ActiveModel::Model\u306a\u30af\u30e9\u30b9\u3067Callback\u3092\u4f7f\u3046","author_name":"izumin5210","provider_name":"Hatena Blog","width":"100%","provider_url":"https://hatena.blog","version":"1.0","type":"rich","published":"2015-02-08 23:59:00","categories":["Ruby","Ruby on Rails"],"author_url":"https://blog.hatena.ne.jp/izumin5210/","description":"ActiveModel::Validations::Callbacks\u3082include\u3057\u306a\u3051\u308c\u3070\u306a\u3089\u306a\u3044\uff0e class UserForm include ActiveModel::Model include ActiveModel::Validations::Callbacks # \u7565 end ActiveModel::Model\u306b\u542b\u307e\u308c\u308b\u30e2\u30b8\u30e5\u30fc\u30eb\u306f\u4ee5\u4e0b\u306e\u3068\u304a\u308a\uff0e ActiveModel::Validations::Callbacks\u306f\u5165\u3063\u3066\u3044\u306a\u3044\uff0e \u77e5\u3089\u3093\u304b\u3063\u305f\uff0e # activemodel/lib/active_model/model.rb#L58 module Model extend\u2026","height":"190","html":"<iframe src=\"https://hatenablog-parts.com/embed?url=https%3A%2F%2Fizumin.hateblo.jp%2Fentry%2F2015%2F02%2F08%2F235900\" title=\"\u3010Ruby\u3011ActiveModel::Model\u306a\u30af\u30e9\u30b9\u3067Callback\u3092\u4f7f\u3046 - Augmented Usamimi\" class=\"embed-card embed-blogcard\" scrolling=\"no\" frameborder=\"0\" style=\"display: block; width: 100%; height: 190px; max-width: 500px; margin: 10px 0px;\"></iframe>","blog_url":"https://izumin.hateblo.jp/"}