{"id":485,"date":"2012-01-26T23:42:00","date_gmt":"2012-01-26T14:42:00","guid":{"rendered":"http:\/\/www.whoocus.com\/blog\/wordpress\/?p=485"},"modified":"2012-01-26T23:42:00","modified_gmt":"2012-01-26T14:42:00","slug":"active-recode-%e3%81%ab%e3%82%88%e3%82%8b%e8%a4%87%e9%9b%91%e3%81%aa%e3%82%a2%e3%82%bd%e3%82%b7%e3%82%a8%e3%83%bc%e3%82%b7%e3%83%a7%e3%83%b3","status":"publish","type":"post","link":"https:\/\/www.blowfish.co.jp\/?p=485","title":{"rendered":"Active Recode \u306b\u3088\u308b\u8907\u96d1\u306a\u30a2\u30bd\u30b7\u30a8\u30fc\u30b7\u30e7\u30f3"},"content":{"rendered":"<p>\u304b\u306a\u308a\u30cf\u30de\u3063\u305f\u306e\u3067\u899a\u66f8\u3002<br \/>\n\u4e0b\u8a18\u306e\u3088\u3046\u306a\u30c6\u30fc\u30d6\u30eb\u69cb\u6210\u3002<\/p>\n<p>[code]<br \/>\nPrefectures (\u90fd\u9053\u5e9c\u770c\u30de\u30b9\u30bf)<br \/>\n id<br \/>\n prefecture_name<\/p>\n<p>Users (\u30e6\u30fc\u30b6\u30de\u30b9\u30bf)<br \/>\n id<br \/>\n user_name<br \/>\n current_prefecture_id (\u73fe\u4f4f\u6240)<br \/>\n birth_prefecture_id (\u51fa\u8eab\u5730)<br \/>\n[\/code]<\/p>\n<p>\u3084\u308a\u305f\u3044\u3053\u3068\u306f\u3001\u30e6\u30fc\u30b6\u30de\u30b9\u30bf\u306e\u73fe\u4f4f\u6240\u3068\u51fa\u8eab\u5730\u306e\u90fd\u9053\u5e9c\u770c\u540d\u3092\u3001\u90fd\u9053\u5e9c\u770c\u30de\u30b9\u30bf\u304b\u3089\u53d6\u5f97\u3057\u305f\u3044\u3068\u3044\u3046\u3053\u3068\u3002<br \/>\n\u7d50\u8ad6\u304b\u3089\u8a00\u3046\u3068\u3001\u4e0b\u8a18\u306e\u3088\u3046\u306b\u30a2\u30bd\u30b7\u30a8\u30fc\u30b7\u30e7\u30f3\u3092model\u30af\u30e9\u30b9\u306b\u5b9a\u7fa9\u3059\u308b\u3002<\/p>\n<p>prefecture.rb<br \/>\n[ruby]<br \/>\nclass Prefecture &lt; ActiveRecord::Base<br \/>\n  has_many :user<br \/>\nend<br \/>\n[\/ruby]<\/p>\n<p>user.rb<br \/>\n[ruby]<br \/>\nclass User &lt; ActiveRecord::Base<br \/>\n  belongs_to :prefecture<br \/>\n  belongs_to :current_pref, :class_name =&gt; &quot;Prefecture&quot;, :foreign_key =&gt; &quot;current_prefecture_id&quot;<br \/>\n  belongs_to :birth_pref, :class_name =&gt; &quot;Prefecture&quot;, :foreign_key =&gt; &quot;birth_prefecture_id&quot;<br \/>\nend<br \/>\n[\/ruby]<\/p>\n<p>\u3067\u3001\u53c2\u7167\u306f\u4e0b\u8a18\u306e\u3088\u3046\u3002<br \/>\n[ruby]<br \/>\n#\u73fe\u4f4f\u6240<br \/>\n  user.current_pref.prefecture_name<br \/>\n#\u51fa\u8eab\u5730<br \/>\nuser.birth_pref.prefecture_name<br \/>\n[\/ruby]<\/p>\n<p>\u4f55\u306b\u30cf\u30de\u3063\u305f\u304b\u3068\u3044\u3046\u3068\u3001\u30a2\u30bd\u30b7\u30a8\u30fc\u30b7\u30e7\u30f3\u306e\u5b9a\u7fa9\u65b9\u6cd5\u3002<\/p>\n<p>[ruby]<br \/>\nbelongs_to :&quot;current_pref&quot; #\u547c\u3073\u51fa\u3059\u70ba\u306e\u4efb\u610f\u306e\u30a8\u30a4\u30ea\u30a2\u30b9\u540d<br \/>\n:class_name =&gt; &quot;Prefecture&quot; #\u5bfe\u8c61\u30af\u30e9\u30b9\u540d<br \/>\n:foreign_key =&gt; &quot;current_prefecture_id&quot; #\u5916\u90e8\u30ad\u30fc\u5bfe\u8c61\u9805\u76ee\u540d<br \/>\n[\/ruby]<\/p>\n<p>\u3057\u304b\u3082\u3001\u5bfe\u8c61\u30af\u30e9\u30b9\u540d\u306e\u30a4\u30cb\u30b7\u30e3\u30eb\u6587\u5b57\u3092\u3001\u5c0f\u6587\u5b57\u3067\u66f8\u3044\u3066\u3044\u305f\u3002<br \/>\n\u3057\u3063\u304b\u308a\u3068\u3001\u30a2\u30bd\u30b7\u30a8\u30fc\u30b7\u30e7\u30f3\u306e\u5b9a\u7fa9\u65b9\u6cd5\u3068\u30aa\u30d7\u30b7\u30e7\u30f3\u306e\u610f\u5473\u3092\u899a\u3048\u307e\u3057\u3087\u3046\u3002<\/p>\n<p>\u3067\u304d\u3066\u307f\u308b\u3068\u3001SQL\u3092\u8a18\u8ff0\u3059\u308b\u3088\u308a\u3082\u3001\u53d6\u5f97\u3068\u8868\u793a\u304c\u3068\u3066\u3082\u4fbf\u5229\u3002\u3059\u3054\u3044\u306a\u3002<\/p>\n<p><a href=\"http:\/\/stackoverflow.com\/questions\/9014339\/how-to-handle-2-columns-which-refer-same-master-table-with-activerecord-on-rails\">\u53c2\u8003\u307e\u3067\u306b\u3002<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u304b\u306a\u308a\u30cf\u30de\u3063\u305f\u306e\u3067\u899a\u66f8\u3002 \u4e0b\u8a18\u306e\u3088\u3046\u306a\u30c6\u30fc\u30d6\u30eb\u69cb\u6210\u3002 [code] Prefectures (\u90fd\u9053\u5e9c\u770c\u30de\u30b9\u30bf) id prefecture_name Users (\u30e6\u30fc\u30b6\u30de\u30b9\u30bf) id user_name current [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"saved_in_kubio":false,"footnotes":""},"categories":[14,4],"tags":[],"class_list":["post-485","post","type-post","status-publish","format-standard","hentry","category-ruby","category-tech"],"_links":{"self":[{"href":"https:\/\/www.blowfish.co.jp\/index.php?rest_route=\/wp\/v2\/posts\/485","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.blowfish.co.jp\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.blowfish.co.jp\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.blowfish.co.jp\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.blowfish.co.jp\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=485"}],"version-history":[{"count":0,"href":"https:\/\/www.blowfish.co.jp\/index.php?rest_route=\/wp\/v2\/posts\/485\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.blowfish.co.jp\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=485"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.blowfish.co.jp\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=485"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.blowfish.co.jp\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=485"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}