(Rails) ActiveScriptRuby環境でインストール
前提
- 2008/02/23現在のバイナリを利用します
- 執筆者は、RailsならびにMySQLの知識がまったくありません。
- 用語は正しくない場合があります。
- とりあえず、bookmark情報を入力できるものを目指します
Ruby
- ActiveScriptRuby(ActiveRuby)
- 以降、WindowsのAdministrator権限と仮定します(関係ないでしょうが)
Rails
- 2.0.2
- gem installから。後述します
データベース
- MySQLを利用します。
- 5.0 (Generally Available)
- http://www-jp.mysql.com/
手順
インストール
Ruby
- ダウンロードしたmsiからインストール
- binをWindowsのPATH環境変数に通すなり。
Rails
- ActiveScriptRuby の gemからインストールします
>gem install rails --inculde-dependencies : (最新版にしました) : : : >gem update --system >gem install mysql >gem list *** LOCAL GEMS *** actionmailer (2.0.2, 1.3.3) actionpack (2.0.2, 1.13.6, 1.13.3) actionwebservice (1.2.6, 1.2.3) activerecord (2.0.2, 1.15.6, 1.15.3) activeresource (2.0.2) activesupport (2.0.2, 1.4.4, 1.4.2) gettext (1.10.0) hatenaapigraph (0.2.2) hoe (1.4.0, 1.3.0) hpricot (0.6) mechanize (0.6.11, 0.6.10) mysql (2.7.3) rails (2.0.2, 1.2.3) rak (0.8.0) rake (0.8.1, 0.7.3) rubyforge (0.4.4) rubygems-update (1.0.1) sources (0.0.1)
- mysqlとupdateはどちらが先がいいのか・・・
- おそらく不要なものも入ってます。
MySQL
- 以下をダウンロードしました
- mysql-essential-5.0.51a-win32.msi
- mysql-gui-tools-5.0-r12-win32.msi
- MySQL AdministratorというGUIツールを起動するために利用します。(今後はどう使うんだろう。。)
- 順番にインストール
- ローカルのrootパスワードを設定

- WindowsのPATH環境変数には通すよう、インストール後の設定で指定

- おわり

設定
- 名前を適当に bookmark とします。以下の属性を持ちます。
- 名前
- url
- 一個だけタグ
- これ以上難しいのはわかりません。。。orz
MySQL
- [スタート]-[プログラム]-[MySQL]-[MySQL Administrator]を起動
- ログイン

- カタログを選択

- 左下で右クリック、Create New Schemeを選択
- Schema nameとして、bookmark_developmentを入力

- 終わり
Rails
- C:\Rails\ の下に作成することにします
>cd c:\Rails
- MySQLを利用するので、 -d mysqlをつけます
>rails -d mysql bookmark
- 以下のファイルを編集します
C:\Rails\bookmark\config\database.yaml --- # MySQL. Versions 4.1 and 5.0 are recommended. # # Install the MySQL driver: # gem install mysql # On Mac OS X: # sudo gem install mysql -- --with-mysql-dir=/usr/local/mysql # On Mac OS X Leopard: # sudo env ARCHFLAGS="-arch i386" gem install mysql -- --with-mysql-config=/usr/local/mysql/bin/mysql_config # This sets the ARCHFLAGS environment variable to your native architecture # On Windows: # gem install mysql # Choose the win32 build. # Install MySQL and put its /bin directory on your path. # # And be sure to use new-style password hashing: # http://dev.mysql.com/doc/refman/5.0/en/old-client.html development: adapter: mysql encoding: utf8 database: bookmark_development # ココに合わせて、schemeを前もって作ってみました username: root # SQLインストール時に入力し、MySQL Administratorを password: password # 起動する際に必要なusernameとpassword host: localhost (略)
Scaffold
- こちらを参考にしました
- rubyにはPATHが通っていると仮定して進めます
>cd c:\Rails\bookmark >ruby script\plugin install scaffolding : (略) : >ruby script/plugin install http://tools.assembla.com/svn/breakout/breakout/vendor/plugins/classic_pagination/ : (略) : >ruby script/plugin install http://tools.assembla.com/svn/breakout/breakout/vendor/plugins/will_paginate/
リソースの定義
- とりあえず以下のようにします。
- リソース
- 名前はbookmark
- 属性
| name | String |
| url | String |
| tag | String |
>cd c:\Rails\bookmark
>ruby script\generate scaffold bookmark name:string url:string tag:string
exists app/models/
exists app/controllers/
exists app/helpers/
create app/views/bookmarks # ブラウザにurlを入れるときに、ここのbookmarks を入れることになります。
exists app/views/layouts/
exists test/functional/
exists test/unit/
create app/views/bookmarks/index.html.erb
create app/views/bookmarks/show.html.erb
create app/views/bookmarks/new.html.erb
create app/views/bookmarks/edit.html.erb
create app/views/layouts/bookmarks.html.erb
create public/stylesheets/scaffold.css
dependency model
exists app/models/
exists test/unit/
exists test/fixtures/
create app/models/bookmark.rb
create test/unit/bookmark_test.rb
create test/fixtures/bookmarks.yml
create db/migrate
create db/migrate/001_create_bookmarks.rb
create app/controllers/bookmarks_controller.rb
create test/functional/bookmarks_controller_test.rb
create app/helpers/bookmarks_helper.rb
route map.resources :bookmarks
- db\migrate\001_create_bookmarks.rbの中身を確認
- 3つの属性がいます。
class CreateBookmarks < ActiveRecord::Migration
def self.up
create_table :bookmarks do |t|
t.string :name
t.string :url
t.string :tag
t.timestamps
end
end
def self.down
drop_table :bookmarks
end
end
データベース作成
>cd C:\Rails\bookmark >rake db:migrate (in C:/Rails/bookmark) == 1 CreateBookmarks: migrating =============================================== -- create_table(:bookmarks) -> 0.0000s == 1 CreateBookmarks: migrated (0.0000s) ======================================
- MySQL Administratorで見てみます
- [カタログ]-[bookmarks_development]を選択
- Table Nameに、bookmarksが出来ています
- 中身はこうなっています
確認
- WEBrickを起動してブラウザで見てみます
>cd C:\Rails\bookmark >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 [2008-02-23 18:17:06] INFO WEBrick 1.3.1 [2008-02-23 18:17:06] INFO ruby 1.8.6 (2007-06-07) [i386-mswin32] [2008-02-23 18:17:06] INFO WEBrick::HTTPServer#start: pid=5812 port=3000
- 以下のURLをブラウザに入力
- top

- New

- List

Keyword(s):
References:[(Rails) Ruby on Rails]