- Äɲ䵤줿¹Ô¤Ï¤³¤Î¿§¤Ç¤¹¡£
- ºï½ü¤µ¤ì¤¿¹Ô¤Ï¤³¤Î¿§¤Ç¤¹¡£
[[Ruby/Ruby on Rails]]
#contents
Ruby on Rails¤Ç·«¤êÊÖ¤·Áàºî¤·¤Æ³Ð¤¨¤¿¤¤»öÊÁ¤òstep¤È¤·¤ÆÀ°Íý¤·¤Þ¤·¤¿¡£~
*step01 InstantRails¤Îµ¯Æ°¤Èirb
C:\InstantRails\InstantRails.exe¤ò¥À¥Ö¥ë¥¯¥ê¥Ã¥¯¤·¤Æµ¯Æ°¤·¤Þ¤¹¡£~
#ref(step01_InstantRails.gif)
~
DOS¥×¥í¥ó¥×¥È²èÌ̤ò³«¤¡¢irb¤ÇÁàºî¤·¤Æ¤ß¤Þ¤¹¡£~
[I¤Î¥¢¥¤¥³¥ó] - [Rails Applications] - [Open Ruby Console Window]~
#ref(step01_irb.gif)
³Æ¥³¥Þ¥ó¥É¤Î°ÕÌ£
|cmd /f:o|ctrl+f¤Ç¤Î¥Õ¥¡¥¤¥ë̾Êä´°¤ò͸ú¤È¤·¤Þ¤¹|
|ruby -v|ruby¤Î¥Ð¡¼¥¸¥ç¥ó¤òɽ¼¨¤·¤Þ¤¹|
|irb -ribr/completion|Êä´°µ¡Ç½Í¤ê¤Çirb¤òµ¯Æ°¤·¤Þ¤¹|
|pu[tab]|ÅÓÃæ¤Çtab¥¡¼¤ò²¡¤¹¤ÈÊä´°¤¬¸ú¤¤Þ¤¹|
|puts "Hello World!"|rubyʸ¤òÂǤĤȤ¹¤°¤Ë¼Â¹Ô¤µ¤ì¤Þ¤¹|
|exit|irb¤ò½ªÎ»¤·¤Þ¤¹|
¤è¤¯»È¤¦Áàºî¤òrails_appsľ²¼¤Î¥Ð¥Ã¥Á¥Õ¥¡¥¤¥ë¤Ë¤·¤Þ¤·¤¿¡£
|setenv.bat|cmd /f:o|
|irb.bat|C:\InstantRails\ruby\bin\irb -rirb/completion|
*step02 ¥×¥í¥¸¥§¥¯¥È¤Î¿·µ¬ºîÀ®
+InstantRails¤«¤éDOS¥×¥í¥ó¥×¥È¤ò³«¤¯~
¥«¥ì¥ó¥È¥Õ¥©¥ë¥À¤ÏC:\InstantRails\rails_apps¤È¤Ê¤ê¤Þ¤¹¡£
+rails ¥×¥í¥¸¥§¥¯¥È̾¤Ç¥×¥í¥¸¥§¥¯¥È¤ò¿·µ¬ºîÀ®
+cd ¥×¥í¥¸¥§¥¯¥È̾¤Ç¥×¥í¥¸¥§¥¯¥È¥Õ¥©¥ë¥À¤Ë°ÜÆ°~
°Ê¹ß¤ÎÁàºî¤Ï¥×¥í¥¸¥§¥¯¥È¥Õ¥©¥ë¥À¤Ç¹Ô¤¤¤Þ¤¹¡£
*step03 Mongrel web¥µ¡¼¥Ð¤Îµ¯Æ°
+¥×¥í¥¸¥§¥¯¥È¥Õ¥©¥ë¥À¤Çruby script\server¤ò¼Â¹Ô¤·¤ÆMongrel web¥µ¡¼¥Ð¤òµ¯Æ°~
ctrl+c¥¡¼¤ÇÃæÃǤǤ¤Þ¤¹¡£
+http://127.0.0.1:3000/¤ò¥Ö¥é¥¦¥¶¤Ç³«¤¯¤È¡¢¥×¥í¥¸¥§¥¯¥È¤ÎWeb¥Ú¡¼¥¸¤¬¸«¤é¤ì¤Þ¤¹¡£
*step04 Aptana Studio RadRails
+Aptana Studio¤òµ¯Æ°
+ʸ»ú¥³¡¼¥É¤òUTF-8¤Ë½é´üÀßÄê~
[Window] - [Preferences] - [General] - [Workspace] - [Text file encoding]¤òUTF-8¤ÇÀßÄê¤ËÀßÄꤷ¤Þ¤¹¡£
#ref(step04_RadRailsUTF8.gif)
----
Rails¥×¥í¥¸¥§¥¯¥È¤Î¥¤¥ó¥Ý¡¼¥È
+[File] - [Import] - [Other] - [Import As New Project] - [Next]
#ref(step04_RadRailsImport01.gif)
+¥×¥í¥¸¥§¥¯¥È¥Õ¥©¥ë¥À¤òÀßÄê
#ref(step04_RadRailsImport02.gif)
+¤½¤Î¤Þ¤ÞFinish
#ref(step04_RadRailsImport03.gif)
*step05 ¥Ç¡¼¥¿¥Ù¡¼¥¹ÀßÄê
config\database.yml¤ò³«¤¤¤Æ¡¢É¬ÍפʾðÊó¤òÆþÎϤ·¤Þ¤¹¡£
development:
adapter: mysql
database: ¥×¥í¥¸¥§¥¯¥È̾_development
username: root
password:
host: localhost
test:
adapter: mysql
database: ¥×¥í¥¸¥§¥¯¥È̾_test
username: root
password:
host: localhost
production:
adapter: mysql
database: ¥×¥í¥¸¥§¥¯¥È̾_production
username: root
password:
host: localhost
*step06 ¥Ç¡¼¥¿¥Ù¡¼¥¹ºîÀ®
**sql¥³¥Þ¥ó¥É¤ÇºîÀ®¤¹¤ëÊýË¡
+phpMyAdminµ¯Æ°
[Instant Rails] - [I¥¢¥¤¥³¥ó] - [Configure] - [Database(via PhpMyAdmin)]
+SQL¥¢¥¤¥³¥ó¤ò¥¯¥ê¥Ã¥¯
+create database ¥×¥í¥¸¥§¥¯¥È̾_development default charset utf8;
**rake¥¿¥¹¥¯¤ÇºîÀ®¤¹¤ëÊýË¡
+lib\tasks\setup_db.rake¥Õ¥¡¥¤¥ë¤òºîÀ®
env = ENV['RAILS_ENV'] || 'development'
database = "¥×¥í¥¸¥§¥¯¥È̾_#{env}"
task :connect_db => [:environment] do
ActiveRecord::Base.establish_connection(
:adapter => 'mysql',
:host => 'localhost',
:username => 'root',
:database => 'mysql'
)
end
task :setup_db => [:connect_db] do
ActiveRecord::Schema.define do
create_database database
end
end
task :destroy_db => [:connect_db] do
ActiveRecord::Schema.define do
drop_database database
end
end
+¥×¥í¥¸¥§¥¯¥È¥Õ¥©¥ë¥À¤Ç¡Örake setup_db¡×
+´Ä¶¤òÊѤ¨¤¿DB¤òºîÀ®¤¹¤ë¤È¤¤Ï¡Örake RAILS_ENV=production setup_db¡×
*step07 migration¤Ë¤è¤ë¥Æ¡¼¥Ö¥ëºîÀ®
+ruby script\generate migration create_memos_table
+db\migrate\001_create_memos_table.rb¤òÊÔ½¸¡Ê¿ô»ú¤ÏÊѤï¤ë¾ì¹ç¤¬¤¢¤ê¤Þ¤¹¡Ë
class CreateTable < ActiveRecord::Migration
def self.up
create_table :memos do |t|
t.column :created_at, :datetime
t.column :text, :string, :limit => 255
t.column :location, :string, :limit => 64
end
end
def self.down
drop_table :memos
end
end
+¡Örake db:migrate¡×¤Ç¥Þ¥¤¥°¥ì¡¼¥È¤ò¼Â¹Ô