¥×¥í¥°¥é¥ß¥ó¥°¤Ï¤ª¤Ã¤¯¤»¤ó¤Þ¤ó
¥×¥í¥°¥é¥ß¥ó¥°¤Ë´Ø¤¹¤ë¸Ä¿ÍŪ¤Ê¥á¥â¤òÄÖ¤ë¤À¤±¤Î¥Ö¥í¥°¤Ç¤¹¡£ ¤è¤í¤·¤×¡£¤¢¡¢´Ö°ã¤¨¤¿¡¢¤è¤í¤·¤¯¡£
¡ÚÊÙ¶¯¡Û¥«¡¼¥È¥·¥ç¥Ã¥Ô¥ó¥°¥¢¥×¥ê³«È¯¡Ú¤½¤Î£±¡Û
rails2.0¤Ë¤Ê¤Ã¤Æ¤À¤¤¤Ö¼ê½ç¤¬ÊѤï¤Ã¤Æ¤ë¤Î¤Ç¡¢¤¶¤¯¤Ã¤È´Êñ¹½Ãۤޤǡ£
´Ä¶­¡§windowsXP¡¢rails 2.0.2¡¢ruby 1.8.6¡¢MySQL 5.0.27

¥×¥í¥¸¥§¥¯¥È¿÷·Á¹½ÃÛ
>rails depot -d mysql

DBºîÀ®
mysql>create database depot_development default character set utf8;

scaffold¤Ç°ìµ¤¤Ë¤¢¤ì¤³¤ìºîÀ®
>ruby script/generate scaffold product title:string description:text img_url:string price:decimal

£Ä£Â¥Æ¡¼¥Ö¥ëºîÀ®
>rake db:migrate

»ªµ¯Æ°
>rails script/server

¥Ö¥é¥¦¥¶¤Ç¥¢¥¯¥»¥¹
http://localhost:3000/products

¤³¤ì¤Ç¥³¥Þ¥ó¥ÉÂǤĤÀ¤±¤Ç¤È¤ê¤¢¤¨¤º¤Ç¤­¤ë¡£

title¤ËÆüËܸì¤òÆþ¤ì¤ÆÅÐÏ¿¤·¤è¤¦¤È¤¹¤ë¤È¥¨¥é¡¼¤¬½Ð¤ë¡£
mysql>status
¤Ç¡¢ÀßÄê³Îǧ¡£
character set ¤¬ latin1 ¤Ë¤Ê¤Ã¤Æ¤ë¤Î¤Ç¡¢utf8¤ËÊѹ¹¡£
mysql>set names utf8;
¤³¤ì¤Ç¡¢WEB¾å¤âÆüËܸìɽ¼¨¤Ç¤­¤¿¡£

HTML¤ÎÊÔ½¸¤Ï¡¢\app\views¤ÎÃæ¤Îhtml.erb¤òÊÔ½¸¤Ç¡£


Ruby¤Î¥³¡¼¥É¤òËä¤á¹þ¤à
Á°²ó¤Ï¡¢ÀÅŪ¤Êhtml¤òɽ¼¨¤¹¤ë¤À¤±¤Ç¤·¤¿¤¬¡¢
º£²ó¤Ï¡¢Æ°Åª¤Ê¥³¡¼¥É¤òËä¤á¹þ¤ó¤Ç¤ß¤Þ¤Ã¤¹¡£

Á°²óºîÀ®¤·¤¿hello.rhtml¤Î¥¿¥°¤ÎÃæ¤Ë¡¢

<ul>
 <li>足し算: <%= 1+2 %></li>
 <li>連結:<%= "cow" + "boy" %></li>
 <li>1時間後の時刻: <%= 1.hour.from_now %></li>
</ul>


¤òËä¤á¹þ¤à¡£

html¥Æ¥ó¥×¥ì¡¼¥È¤ËľÀÜRuby¤Î¥³¡¼¥É¤òËä¤á¹þ¤à¤È¤­¤Ï¡¢
<% [コード] %>¡¡¤È¡¢°Ï¤à¡£
ÃͤòÊÖ¤¹¤è¤¦¤Ê¾ì¹ç¤Ï¡¢
<%= [コード] %>


¤Á¤Ê¤ß¤Ë¡¢html¥¿¥°¤Î
<ul>¤Ï¡¢Unordered List¤Îά¡£½ç½ø¤Î¤Ê¤¤¥ê¥¹¥È¤òɽ¼¨¡Ê²Õ¾ò½ñ¤­¤ß¤¿¤¤¤Ê¡Ë
<li>¤Ï¡¢List Item¤Îά¡£¤½¤Î¤Þ¤Þ¤Ç¤¹¤Í¡ª


¤³¤ì¤Ç¡¢http://localhost:3000/demo/say/hello ¤Ë¥¢¥¯¥»¥¹¤¹¤ë¤È¡¢
¡¦Â­¤·»»¡§3
¡¦Ï¢·ë¡§cowboy
¡¦£±»þ´Ö¸å¤Î»þ¹ï¡§Sun Apr 06 16:06:06 +0900 2008
¤³¤ó¤Ê´¶¤¸¤Çɽ¼¨¤µ¤ì¤ë¡£

¤³¤ì¤Ï¥Ó¥å¡¼¤ÎÊý¤ÇľÀÜÃͤò·×»»¤·¤Æ¤¤¤ë¡£
MVC¤Î¹½Â¤¤«¤é¤¤¤¦¤È¡¢¤³¤¦¤¤¤¦½èÍý¤Ï¡¢¥³¥ó¥È¥í¡¼¥ë¤ÎÊý¤Ç¤ä¤ë¤Ù¤­¤À¤ó¤À¤À¤ó¡£
¥Ó¥å¡¼¤Ïɽ¼¨¤¹¤ë¤À¤±¤Ë¡£
¤È¤¤¤¦¤ï¤±¤Ç¡¢¥³¥ó¥È¥í¡¼¥ë¦¤Ç½èÍý¤·¤è¤¦¡£

\demo\rails_apps\demo\controller\say_controller.rb¡¡¤Ë¥³¡¼¥É¤ò½ñ¤¯¡£
hello¥á¥½¥Ã¥É¤ÎÃæ¤ËÀÖ»ú¤òÄɲá£

Class SayController < ApplicationController
¡¡def hello
¡¡¡¡@time = Time.now
¡¡end
end

Time.now¤Ï¸½ºß»þ¹ï¤ò½¦¤Ã¤Æ¤¯¤ë¥á¥½¥Ã¥É¡£
°ú¿ô¤¬¤Ê¤¤¤Î¤Ç¡¢Time.now¡Ê¡Ë¤È½ñ¤¯É¬ÍפϤʤ¤¤ó¤Ç¤¹¤Í¡£
¤³¤ì¤Ç¡¢time¤È¤¤¤¦ÊÑ¿ô¤Ë¸½ºß»þ¹ï¤¬Æþ¤ë¡£
¤³¤Îtime¤ò¥Ó¥å¡¼Â¦¤Çɽ¼¨¤¹¤ì¤Ð¤è¤¤¡£

hello.rhtml¤ÎÊý¤Ë¡¢
<p> 現在時刻は、<%= @time %> です。 </p>
¤È½ñ¤¯¤È¡¢¤¢¤éÉԻ׵ġª@time¤ÎÃͤ¬É½¼¨¤µ¤ì¤Þ¤¹¡ª

¥³¥ó¥È¥í¡¼¥é¥ª¥Ö¥¸¥§¥¯¥È¤Î¥í¡¼¥«¥ë¤Ê¥¤¥ó¥¹¥¿¥ó¥¹ÊÑ¿ô¤¬¡¢
¤É¤¦¤ä¤Ã¤Æ¥Ó¥å¡¼¤ËÅϤµ¤ì¤Æ¤¤¤ë¤Î¤Ç¤·¤ç¤¦¤«¡ª¡©
Rails¤ÏRuby¤Î¥á¥¿¥×¥í¥°¥é¥ß¥ó¥°µ¡Ç½¤òÍøÍѤ·¤Æ
¥³¥ó¥È¥í¡¼¥é¥ª¥Ö¥¸¥§¥¯¥È¤Î¥¤¥ó¥¹¥¿¥ó¥¹ÊÑ¿ô¤ò¥Æ¥ó¥×¥ì¡¼¥È¥ª¥Ö¥¸¥§¥¯¥È¤ËÃíÆþ¤¹¤ë¡£
¤é¤·¤¤¤Î¤Ç¤¹¤¬¡¢¤è¤¯¤ï¤«¤é¤ó¤Î¤Ç¡¢¤³¤¦¤¤¤¦¤â¤ó¤À¤È¤¤¤¦¤³¤È¤Ç£÷

¼¡²ó¤«¤é¤Ï¡¢¶µËܤÎÂè­¶Éô¡¢¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤ò¹½ÃÛ¤¹¤ë¤ËÆþ¤ê¥Þ¥Ã¥¹¥ë¡£


Hello Rails
¤»¤Ã¤«¤¯Çã¤Ã¤¿¤Î¤Ç¡¢
¡ÖRails¤Ë¤è¤ë¥¢¥¸¥ã¥¤¥ëWeb¥¢¥×¥ê¥±¡¼¥·¥ç¥ó³«È¯ Â裲ÈǡפζµËܤòÄɤäƤ¤¤­¤Þ¤¹¡£

¤Þ¤º¤Ï¤ª·è¤Þ¤ê¤Î¤³¤ì¤«¤é¡£
Áàºî¤Ï¤¹¤Ù¤Æ¥³¥Þ¥ó¥É¥×¥í¥ó¥×¥È¤«¤é¡£
¥Ñ¥¹¤Ï³Æ¡¹¤Î´Ä¶­¤Ç¡£»ä¤ÏC:\InstantRails¤Ç¤ª¤Þ¤¹¡£

¡Ú¤ª¤Þ¤±¡Û
¤³¤ì¤Ï¤É¤³¤«¤éÂǤäƤ⤪£ë¤Ç¤¹¤¬¡¢
C:\InstantRails\rails_apps>gem update rails --include-dependencies
¤³¤ì¤ÇRails¤Î¼«Æ°¥¢¥Ã¥×¥Ç¡¼¥È²Äǽ¡£

¤Á¤Ê¤ß¤Ë¡¢¤³¤ì¤Ç¥Ð¡¼¥¸¥ç¥ó¥Á¥§¥Ã¥¯¡£
C:\InstantRails\rails_apps>ruby -v
¸½´Ä¶­¤Î¥Ð¡¼¥¸¥ç¥ó¡£
ruby 1.8.6 (2007-09-24 patchlevel 111) [i386-mswin32]
C:\InstantRails\rails_apps>rails -v
Rails 2.0.2

¡ÚRuby on Rails ¤ÇHello Rails¡Û
¤Þ¤º¤Ï¡¢¥×¥í¥¸¥§¥¯¥È¤ò¼«Æ°À¸À®¤¹¤ë¡£
C:\InstantRails\rails_apps>rails demo -d mysql
Rails2.0.2¤«¤é¥Ç¥Õ¥©¥ë¥È£Ä£Â¤¬SQLight3¤Ë¤Ê¤Ã¤Æ¤·¤Þ¤Ã¤¿¤Î¤Ç¡¢
-d mysql¤Ç¥×¥í¥¸¥§¥¯¥ÈÀ¸À®»þ¤Ëmysql¤ò»ØÄꤷ¤Þ¤Ã¤¹¡ª

¤³¤ì¤Ç¡¢demo¤È¤¤¤¦¥×¥í¥¸¥§¥¯¥È¤¬¼«Æ°À¸À®¤µ¤ì¤ë¡£
¤¤¤Ã¤Ñ¤¤¥Õ¥©¥ë¥À¤ä¤é¥Õ¥¡¥¤¥ë¤¬¤Ç¤­¤Þ¤·¤¿¤¡¡£

¼«Æ°À¸À®¤µ¤ì¤¿¥×¥í¥¸¥§¥¯¥È¤Î¥Õ¥©¥ë¥À¤Ë°Üư¤·¤Æ¡¢
C:\InstantRails\rails_apps\demo>ruby script/server
¤³¤ì¤ÇWEBrick¤È¤¤¤¦Web¥µ¡¼¥Ð¤¬µ¯Æ°¡£
Ää»ß¤Ï¡¢[Ctrl]+[C]¤Ç¡£
µ¯Æ°Ãæ¤Ï¥³¥Þ¥ó¥É¤¬Ê֤äƤ³¤Ê¤¤¤Î¤Ç¡¢¤â¤¦¤¤¤Ã¤Á¤ç¥³¥Þ¥ó¥É¥×¥í¥ó¥×¥È³«¤­¤Þ¤»¤¦¡£

[WEBrick] ruby¤Î¤ß¤Ç½ñ¤«¤ì¤¿Web¥µ¡¼¥Ð¡£
¡¡¡¡¡¡¡¡¡¡¡¡ Mongrel,Lighttpd¤È¤¤¤¦Web¥µ¡¼¥Ð¤¬¤¹¤Ç¤ËÆþ¤Ã¤Æ¤¤¤ë¾ì¹ç¤Ï¡¢
¡¡¡¡¡¡¡¡¡¡¡¡ ¤³¤Á¤é¤¬µ¯Æ°¤·¤Æ¤·¤Þ¤¦¤Î¤Ç¡¢
¡¡¡¡¡¡¡¡¡¡¡¡ ruby script/server webrick
¡¡¡¡¡¡¡¡¡¡¡¡ ¤È»ØÄꤹ¤ë¤é¤·¤¤¡£


¥Ö¥é¥¦¥¶¤Ç http://localhost:3000/¡¡¤ò¸«¤Æµ¯Æ°¤·¤Æ¤ë¤Î¤ò³Îǧ¡£

¤µ¤Æ¡¢Hello¤ò½ñ¤­¤¿¤¤¤È¤³¤í¤Ç¤¹¤¬¡¢Web¥¢¥×¥ê¤Ê¤Î¤Ç¡¢Æ°ºî³µÍפ¬¤ï¤«¤Ã¤Æ¤Ê¤¤¤È¤¤¤±¤Þ¤»¤ó¡£
¤Ç¡¢Rails¤ÏMVC¤È¤¤¤¦³µÇ°¤ò»È¤Ã¤Æ¤Þ¤¹¡£
M¡§¥â¥Ç¥ë¡¡V¡§¥Ó¥å¡¼¡¡C¡§¥³¥ó¥È¥í¡¼¥ë
MVC¥¢¡¼¥­¥Æ¥¯¥Á¥ã

°ìÌÜÎÆÁ³¡ª¤³¤ó¤Ê´¶¤¸¤Ç£÷

¼¡¤Ë¡¢¥³¥ó¥È¥í¡¼¥é¤òÀ¸À®¡£
C:\InstantRails\rails_apps\demo>ruby script/generate controller Say
¤³¤ì¤ÇSay¤È¤¤¤¦¥³¥ó¥È¥í¡¼¥é¤¬¼«Æ°À¸À®¤µ¤ì¤ë¡£
À¸À®¤µ¤ì¤¿demo\app\controller\say_controller.rb¤Ë¥³¡¼¥É¤ò½ñ¤¯¡£

class SayController ¡¦¡¦¡¦¡¦
¡¡def hello
¡¡end

end

hello¥á¥½¥Ã¥ÉÄɲá£Ãæ¿È¤Ê¤·¡£
¥³¥ó¥È¥í¡¼¥é¤ÎÉôʬ¤Ï¤³¤ì¤À¤±¤Ã¤¹¡£

¼¡¤Ë¥Ó¥å¡¼¡£
demo\app\views\say\°Ê²¼¤Ëhello.rhtml¤òºî¤ë¡£
html¤¸¤ã¤Ê¤¯¤Æ¡¢rhtml¡£
Ãæ¿È¤ÏÉáÄ̤Îhtml¤Ç¡¢Å¬Åö¤Ëhello¤È¤«É½¼¨¤¹¤ë¤â¤Î¤ò¡£

¤½¤·¤Æ¡¢
http://localhost:3000/demo/say/hello
¤Ë¥¢¥¯¥»¥¹¤¹¤ë¤È¡¢É½¼¨¤µ¤ì¤¿¡ª¡ª

¤É¤¦Æ°¤¤¤Æ¤¤¤ë¤Î¤«¡£
URL¤Î"say"¤ÇSayController¤Î¥¤¥ó¥¹¥¿¥ó¥¹¤òÀ¸À®¡£
"hello"¤Çhello¥á¥½¥Ã¥É¤ò¸Æ¤Ó½Ð¤¹¡£
¥Ç¥Õ¥©¥ë¥È¤Ç¡¢Rails¤Ï¼«Æ°Åª¤ËƱ̾¤Î¥Ó¥å¡¼¥Æ¥ó¥×¥ì¡¼¥È¤òõ¤¹¡£
¤Î¤Ç¡¢¶õ¥á¥½¥Ã¥É¤·¤«½ñ¤¤¤Æ¤Ê¤¤¤±¤Éɽ¼¨¤µ¤ì¤ë¤È¡£

¼¡²ó¤Ï¡¢¥³¥ó¥È¥í¡¼¥ë¤Ë½ñ¤¤¤¿hello¥á¥½¥Ã¥É¤Ë²¿¤«½ñ¤¤¤Æ¤ß¤Þ¤»¤¦¡£


InstantRails¥¤¥ó¥¹¥È¡¼¥ë
´Ä¶­¤Ï¤È¤ê¤¢¤¨¤ºWindows¤Ç¡£XP¤Ç¤¹¡£

²¿¤Ï¤È¤â¤¢¤ì¡¢Ruby on Rails ¤Î¥¤¥ó¥¹¥È¡¼¥ë¡£
¤¤¤í¤¤¤í¥Ñ¥Ã¥±¡¼¥¸¤µ¤ì¤¿InstantRails¤òÆþ¤ì¤Þ¤·¤¿¡£
Apache¡¦MySQL¡¦Ruby¡¦RubyGems¡¦Rails¡¢¤³¤Î¤¢¤¿¤ê¤¬Æþ¤Ã¤Æ¤ì¤¥¡£

¥¤¥ó¥¹¥È¡¼¥ë¤Ë´Ø¤·¤Æ¤Ï¤µ¤¯¤µ¤¯¤Ã¤È¡£
¤¢¤È¤Ï¡¢Windows¤Î´Ä¶­ÊÑ¿ô¤ÎÀßÄê¡£
¡ÖC:\InstantRails\mysql\bin;C:\InstantRails\ruby\bin;¡×
¤Ë¥Ñ¥¹¤òÄ̤¹¡£

»²¹Í¤Ë¤·¤¿¤Î¤Ï¡¢ThinkIT¡£

¥Í¥Ã¥È¤Ç¤¤¤í¤¤¤íÄ´¤Ù¤Ê¤¬¤é¤¤¤¸¤Ã¤Æ¤ß¤¿¤â¤Î¤Î¡¢¤Ê¤«¤Ê¤«Æñ¤·¤¤¤Î¤Ç¡¢ËܤòÇ㤦¡£
ɾȽ¤ÎÎɤµ¤½¤¦¤Ê¥³¥ì¡£
Rails¤Ë¤è¤ë¥¢¥¸¥ã¥¤¥ëWeb¥¢¥×¥ê¥±¡¼¥·¥ç¥ó³«È¯ Âè2ÈÇRails¤Ë¤è¤ë¥¢¥¸¥ã¥¤¥ëWeb¥¢¥×¥ê¥±¡¼¥·¥ç¥ó³«È¯ Âè2ÈÇ
(2007/10/26)
Dave Thomas¡¢David Heinemeier Hansson ¾

¾¦Éʾܺ٤ò¸«¤ë




Copyright © ¥×¥í¥°¥é¥ß¥ó¥°¤Ï¤ª¤Ã¤¯¤»¤ó¤Þ¤ó. all rights reserved.
̵ÎÁ¥Û¡¼¥à¥Ú¡¼¥¸ ¥¢¥Õ¥£¥ê¥¨¥¤¥È ¥ì¥ó¥¿¥ë¥µ¡¼¥Ð¡¼ FC2¥Ö¥í¥° °ì¸Í·ú¤Æ