ruby1.9-rails3-appendix

5. 補足その他

aptitude パッケージ一覧更新(root権限で実行)

1
# aptitude update

rubygemsでのパッケージ検索

1
2
$ gem search --remote <検索文字列>
$ gem search -r <検索文字列>

コントローラの追加

1
2
$ rails generate controller <コントローラ名> <アクション名>
$ rails g controller <コントローラ名> <アクション名>

コントローラの削除(destroyの省略形は無し)

1
$ rails destroy controller <コントローラ名> <アクション名>

5-1. [補足追加] PostgreSQLの設定/動作確認

psql (PostgreSQL) バージョン:8.4.11

アクセス許可設定の変更

/etc/postgresql/8.4/main/pg_hba.conf をroot権限で編集する

68 行目辺りから

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
77c77
< local   all         postgres                          trust
---
> local   all         postgres                          ident
82c82
< local   all         all                               trust
---
> local   all         all                               ident
84c84
< host    all         all         127.0.0.1/32          trust
---
> host    all         all         127.0.0.1/32          md5
86c86
< host    all         all         ::1/128               trust
---
> host    all         all         ::1/128               md5

上記を変更後、root権限にてpsqlデーモンを再起動する

1
# /etc/init.d/postgresql restart

その後、psqlに接続しテーブル等を確認する

1
$ psql -U postgres

rails3 でPostgresSQLを使用可能にする

root権限で postgresql-server-dev-8.4 をインストールする

1
# aptitude -y install postgresql-server-dev-8.4

gem用Postgresパッケージをインストール

1
$ gem install pg

サンプルアプリを作成し、PostgreSQLとの連携テストを行う

例)

1
$ rails new psqldemo -d postgresql

アプリ内のGemfileに以下の行を追加

1
2
gem 'pg'
gem 'therubyracer'

バンドルすべきgemパッケージをインストール

1
$ bundle intall

新規にrailsアプリが生成されたことを確認し、config/database.ymlのユーザ名を’postgres’に書き換える

scaffoldを行う

1
$ rails g scaffold user name:string age:integer

データベースを作成した後、migrationを行う

1
2
$ rake db:create
$ rake db:migrate

migrationを行った後、WEBrickを起動させ、ブラウザでアプリの挙動を確認する

1
$ rails server

参考:
http://honana.com/postgresql/82/setting.html http://d.hatena.ne.jp/f_world21/20110601/1306944597


5-2. [補足追加] Rails3における諸オペレーション

既存テーブルへのフィールド追加マイグレーション

例)> rails g migration AddDate_of_issueToReceipts date_of_issue:date 文法)> rails g migration Add[追加したいカラム名]To[追加先のテーブル名] カラム名:データ型

1
$ rails g migration AddPriceToProduct price:decimal

5-3. [補足追加] Ruby1.9 においてマルチバイト文字を扱うためのマジックコメント

Ryby1.9 においてコード中で日本語を扱う場合は、ファイルの先頭に以下のマジックコードを付加すること

1
# encoding: utf-8

5-4. [補足追加] .rvmrc

.rvmrcの設定をrailsプロジェクトのルートに置いておくこと

設定例)

rvm use 1.9.3@rails32


6. pry導入

pryはruby用高機能対話環境であり、一連の関連コンポネントは機能的にirb及びruby-debugを置換するものである

Gemfileへの追記内容

下記の内、コンポネント「pry-nav」がruby-debugと同機能のデバッガである

1
2
3
4
5
6
7
8
9
source 'http://rubygems.org'

group :development do
  gem 'pry-rails'
  # gem 'pry-coolline', :git => 'git://github.com/pry/pry-coolline.git'
  gem 'pry-nav'
  gem 'pry-exception_explorer'
  gem 'hirb-unicode'
end

.pryrcの内容

レコードセットを見易くするコンポネント「Hirb」の初期設定等を行う

1
2
3
4
5
6
7
8
9
# https://github.com/pry/pry/wiki/FAQ#wiki-hirb
require 'hirb'

Hirb.enable

old_print = Pry.config.print
Pry.config.print = proc do |output, value|
  Hirb::View.view_or_page_output(value) || old_print.call(output, value)
end

参考:
http://labs.timedia.co.jp/2011/12/rubyist-should-use-pry.html http://m4i.hatenablog.com/entry/2012/02/22/091501 http://blog.kiftwi.net/2012/03/20/summary-of-pry-plugins/ http://qiita.com/items/9f7c6b68688e11e962b9
http://d.hatena.ne.jp/joker1007/


7. RSpec(rails3.1以降の場合)

Gemfileに下記を追記する

1
gem 'rspec-rails'

プロジェクトへrspecを適用する

1
# rails g rspec:install

導入方法は以上

参考:
http://ginpen.com/2012/02/14/rspec-rails/


8. git導入

1
$ sudo aptitude install git