初Rails

FedoraRubyをインストールします。


$ sudo yum install ruby
$ sudo yum install ruby-devel
$ sudo yum install rdoc
$ sudo yum install irb

次にRubyのパッケージ管理ソフトをインスコ


$ sudo wget http://rubyforge.org/frs/download.php/5207/rubygems-0.8.11.tgz
$ tar xzf rubygems-0.8.11.tgz
$ cd rubygems-0.8.11
$ sudo ruby setup.rb
---> bin
<--- bin
---> lib
---> lib/rubygems
<--- lib/rubygems
<--- lib
---> bin
adjusting shebang: gem_mirror
<--- bin
---> lib
---> lib/rubygems
<--- lib/rubygems
<--- lib
rm -f InstalledFiles
---> bin
mkdir -p /usr/bin/
install gem_mirror /usr/bin/
install generate_yaml_index.rb /usr/bin/
install update_rubygems /usr/bin/
install gemwhich /usr/bin/
install gem_server /usr/bin/
install gem /usr/bin/
<--- bin
---> lib
mkdir -p /usr/lib/site_ruby/1.8/
install ubygems.rb /usr/lib/site_ruby/1.8/
install rubygems.rb /usr/lib/site_ruby/1.8/
install gemconfigure.rb /usr/lib/site_ruby/1.8/
---> lib/rubygems
mkdir -p /usr/lib/site_ruby/1.8/rubygems
install installer.rb /usr/lib/site_ruby/1.8/rubygems
install loadpath_manager.rb /usr/lib/site_ruby/1.8/rubygems
install dependency_list.rb /usr/lib/site_ruby/1.8/rubygems
install doc_manager.rb /usr/lib/site_ruby/1.8/rubygems
install format.rb /usr/lib/site_ruby/1.8/rubygems
install command.rb /usr/lib/site_ruby/1.8/rubygems
install package.rb /usr/lib/site_ruby/1.8/rubygems
install specification.rb /usr/lib/site_ruby/1.8/rubygems
install source_index.rb /usr/lib/site_ruby/1.8/rubygems
install user_interaction.rb /usr/lib/site_ruby/1.8/rubygems
install version.rb /usr/lib/site_ruby/1.8/rubygems
install timer.rb /usr/lib/site_ruby/1.8/rubygems
install validator.rb /usr/lib/site_ruby/1.8/rubygems
install security.rb /usr/lib/site_ruby/1.8/rubygems
install rubygems_version.rb /usr/lib/site_ruby/1.8/rubygems
install remote_installer.rb /usr/lib/site_ruby/1.8/rubygems
install old_format.rb /usr/lib/site_ruby/1.8/rubygems
install open-uri.rb /usr/lib/site_ruby/1.8/rubygems
install custom_require.rb /usr/lib/site_ruby/1.8/rubygems
install deployment.rb /usr/lib/site_ruby/1.8/rubygems
install gem_runner.rb /usr/lib/site_ruby/1.8/rubygems
install config_file.rb /usr/lib/site_ruby/1.8/rubygems
install gem_commands.rb /usr/lib/site_ruby/1.8/rubygems
install cmd_manager.rb /usr/lib/site_ruby/1.8/rubygems
install builder.rb /usr/lib/site_ruby/1.8/rubygems
install gem_openssl.rb /usr/lib/site_ruby/1.8/rubygems
<--- lib/rubygems
<--- lib

As of RubyGems 0.8.0, library stubs are no longer needed.
Searching $LOAD_PATH for stubs to optionally delete (may take a while)...
...done.
No library stubs found.

Successfully built RubyGem
Name: sources
Version: 0.0.1
File: sources-0.0.1.gem
$ gem --version
0.8.11
$

次にRailsインスコ


$ sudo gem install rails
Attempting local installation of 'rails'
Local gem file not found: rails*.gem
Attempting remote installation of 'rails'
Updating Gem source index for: http://gems.rubyforge.org
Install required dependency rake? [Yn] y
Install required dependency activesupport? [Yn] y
Install required dependency activerecord? [Yn] y
Install required dependency actionpack? [Yn] y
Install required dependency actionmailer? [Yn] y
Install required dependency actionwebservice? [Yn] y
Successfully installed rails-1.0.0
Successfully installed rake-0.7.0
Successfully installed activesupport-1.2.5
Successfully installed activerecord-1.13.2
Successfully installed actionpack-1.11.2
Successfully installed actionmailer-1.1.5
Successfully installed actionwebservice-1.0.0
Installing RDoc documentation for rake-0.7.0...
Installing RDoc documentation for activesupport-1.2.5...
Installing RDoc documentation for activerecord-1.13.2...
Installing RDoc documentation for actionpack-1.11.2...
Installing RDoc documentation for actionmailer-1.1.5...
Installing RDoc documentation for actionwebservice-1.0.0...
$

ここまで一度もエラーにならなかった。
スゴス。

ここではWeb+DBのRails入門に書かれている通りにやって見よう。

まず、MySQLでテーブルの準備


create table users (
id int unsigned not null auto_increment,
name varchar(20) not null,
password varchar(20) not null,
primary key (id)
);
+----------+------------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+----------+------------------+------+-----+---------+----------------+
| id | int(10) unsigned | | PRI | NULL | auto_increment |
| name | varchar(20) | | | | |
| password | varchar(20) | | | | |
+----------+------------------+------+-----+---------+----------------+

次にrailsコマンドを実行


$rails test
create
create app/controllers
create app/helpers
create app/models
create app/views/layouts
create config/environments
create components
create db
create doc
create lib
create lib/tasks
create log
create public/images
create public/javascripts
create public/stylesheets
create script/performance
create script/process
create test/fixtures
create test/functional
create test/mocks/development
create test/mocks/test
create test/unit
create vendor
create vendor/plugins
create Rakefile
create README
create app/controllers/application.rb
create app/helpers/application_helper.rb
create test/test_helper.rb
create config/database.yml
create config/routes.rb
create public/.htaccess
create config/boot.rb
create config/environment.rb
create config/environments/production.rb
create config/environments/development.rb
create config/environments/test.rb
create script/about
create script/breakpointer
create script/console
create script/destroy
create script/generate
create script/performance/benchmarker
create script/performance/profiler
create script/process/reaper
create script/process/spawner
create script/process/spinner
create script/runner
create script/server
create script/plugin
create public/dispatch.rb
create public/dispatch.cgi
create public/dispatch.fcgi
create public/404.html
create public/500.html
create public/index.html
create public/favicon.ico
create public/robots.txt
create public/images/rails.png
create public/javascripts/prototype.js
create public/javascripts/effects.js
create public/javascripts/dragdrop.js
create public/javascripts/controls.js
create doc/README_FOR_APP
create log/server.log
create log/production.log
create log/development.log
create log/test.log
$

動くか試してみます。FWで3000Portはあけておきます。


$ cd test
$ ruby script/server
=> Booting WEBrick...
=> Rails application started on http://0.0.0.0:3000
=> Ctrl-C to shutdown server; call with --help for options
[2005-12-29 17:29:50] INFO WEBrick 1.3.1
[2005-12-29 17:29:50] INFO ruby 1.8.4 (2005-12-24) [i386-linux]
[2005-12-29 17:29:50] INFO WEBrick::HTTPServer#start: pid=24776 port=3000

この状態で、http://IPアドレス:3000/にアクセスすると。。。

と、表示されました。

とりあえずここまでやってみてインストールからここまで表示させるのにCatalystよりも簡単な感じがしました。