{"id":979,"date":"2010-10-22T01:33:33","date_gmt":"2010-10-21T16:33:33","guid":{"rendered":"http:\/\/www.kazu.tv\/blog\/?p=979"},"modified":"2013-09-16T22:08:55","modified_gmt":"2013-09-16T13:08:55","slug":"ruby_on_rails_2","status":"publish","type":"post","link":"https:\/\/kazu.tv\/blog\/2010\/10\/22\/ruby_on_rails_2\/","title":{"rendered":"Ruby on Rails\u30e1\u30e2"},"content":{"rendered":"<p>\u81ea\u5206\u7528\u30e1\u30e2\u3002<\/p>\n<p>\u25a0DB\u95a2\u9023<\/p>\n<p>\u6587\u5b57\u30b3\u30fc\u30c9\u3092\u6307\u5b9a<\/p>\n<pre class=\"brush: plain; code\">#database.yml\r\nencoding: utf8<\/pre>\n<p>rake\u3067\u4ee5\u524d\u306eDB\u69cb\u9020\u306b\u623b\u3059<\/p>\n<pre class=\"brush: plain; code\">$ rake db:migrate VERSION=xxx<\/pre>\n<p>\u30c6\u30fc\u30d6\u30eb\u306b\u5217\u3092\u8ffd\u52a0<\/p>\n<pre class=\"brush: plain; code\">$ ruby script\/generate migration add_foo_field_to_some_object<\/pre>\n<p>\u3092\u5b9f\u884c\u3057\u3066\u3001\u51fa\u6765\u305f\u30d5\u30a1\u30a4\u30eb\u3092\u4ee5\u4e0b\u306e\u611f\u3058\u3067\u4fee\u6b63\u3057\u3001rake db:migrate\u3002<\/p>\n<pre class=\"brush: ruby; code\">class AddFooFieldToSomeObject &lt; ActiveRecord::Migration\r\ndef self.up\r\nadd_column :some_objects, :foo_field, :text,\r\n:null =&gt; false, :default =&gt; false\r\nend\r\ndef self.down\r\nremove_column :some_object, :anonymous\r\nend\r\nend<\/pre>\n<p><!--more--><\/p>\n<p>\u25a0\u753b\u50cf\u95a2\u9023<\/p>\n<p>RMagick\u3067\u30ea\u30b5\u30a4\u30ba<\/p>\n<pre class=\"brush: ruby; code\">img_m = Magick::ImageList.new(path_to_image)\r\nimg_m.change_geometry(\"400x400\") { |cols, rows, img|\r\nimg.resize(cols, rows).write(path_to_new_image)\r\n}<\/pre>\n<p>geometry(&#8220;400&#215;400&#8243;\u3068\u304b)\u306e\u6307\u5b9a\u306e\u4ed5\u65b9\u306f\u30de\u30cb\u30e5\u30a2\u30eb\u306e<a href=\"http:\/\/www.imagemagick.org\/RMagick\/doc\/imusage.html\" target=\"_blank\">\u3053\u306e\u8fba<\/a>\u3092\u53c2\u7167\u3002<\/p>\n<p>\u30b5\u30a4\u30ba\u306e\u53d6\u5f97<\/p>\n<pre class=\"brush: ruby; code\">img.columns # width\r\nimg.rows    # height<\/pre>\n<p>\u25a0\u305d\u306e\u4ed6<\/p>\n<p>RoR\u306e\u74b0\u5883\uff08\u30e2\u30c7\u30eb\u3068\u304b\uff09\u3092\u305d\u306e\u307e\u307e\u4f7f\u3063\u3066\u30d0\u30c3\u30c1\u51e6\u7406\u3092\u884c\u3046\u306b\u306f\u3001script\/runner\u3092\u4f7f\u3046\u3002\u3053\u306e\u8fba\u306e\u30b5\u30a4\u30c8\u3092\u53c2\u8003\uff08<a href=\"http:\/\/d.hatena.ne.jp\/ode\/20090526\/1243340920\" target=\"_blank\">1<\/a>, <a href=\"http:\/\/yakinikunotare.boo.jp\/orebase\/index.php?Ruby%20on%20Rails%2F%C4%EA%B4%FC%C5%AA%A4%CA%A5%D0%A5%C3%A5%C1%BD%E8%CD%FD%A4%F2%B9%D4%A4%A6\" target=\"_blank\">2<\/a>\uff09\u3002<\/p>\n<p>\u968f\u6642\u8ffd\u8a18\u3059\u308b\u304b\u3082\u3002<\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u81ea\u5206\u7528\u30e1\u30e2\u3002 \u25a0DB\u95a2\u9023 \u6587\u5b57\u30b3\u30fc\u30c9\u3092\u6307\u5b9a #database.yml encoding: utf8 rake\u3067\u4ee5\u524d\u306eDB\u69cb\u9020\u306b\u623b\u3059 $ rake db:migrate VERSION=xxx \u30c6\u30fc\u30d6\u30eb\u306b\u5217\u3092\u8ffd\u52a0 $ r&hellip;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"footnotes":""},"categories":[62],"tags":[],"class_list":["post-979","post","type-post","status-publish","format-standard","hentry","category-development"],"_links":{"self":[{"href":"https:\/\/kazu.tv\/blog\/wp-json\/wp\/v2\/posts\/979","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/kazu.tv\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/kazu.tv\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/kazu.tv\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/kazu.tv\/blog\/wp-json\/wp\/v2\/comments?post=979"}],"version-history":[{"count":1,"href":"https:\/\/kazu.tv\/blog\/wp-json\/wp\/v2\/posts\/979\/revisions"}],"predecessor-version":[{"id":1182,"href":"https:\/\/kazu.tv\/blog\/wp-json\/wp\/v2\/posts\/979\/revisions\/1182"}],"wp:attachment":[{"href":"https:\/\/kazu.tv\/blog\/wp-json\/wp\/v2\/media?parent=979"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/kazu.tv\/blog\/wp-json\/wp\/v2\/categories?post=979"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/kazu.tv\/blog\/wp-json\/wp\/v2\/tags?post=979"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}