qmailインストールメモ

Rails1.xとRails2.xのscaffoldの使い方が違う

Railsの便利なジェネレータ機能scaffold
が、何回使ってみても、どこの解説を見ても、全然思うように動いてくれない
いっこうにコツが掴めないままかなりの時間を使いましたが
要はRailsのバージョンが違うとscaffoldの使い方も違ったということで…

Railsにてscaffoldしてmigrationしたのにデータベースにcreateされるテーブルのカラムが足りない

Rails2.xにて、scaffold のオプションにてカラムの型を指定しますが、これには大文字小文字の区別がある。誤って大文字を設定してmigrationを実行してしまうと、そのカラムは設定されない。このとき、何もエラーらしきものが発生しないのも注意!(※RadRails上、そう見えるだけなのかもしれない?)


誤ってStringと型指定してしまう

> scaffold user name:String

生成されるマイグレーションファイル

class CreateUsers < ActiveRecord::Migration
  def self.up
    create_table :users do |t|
      t.String :name # 正しくは t.string :name

      t.timestamps
    end
  end

  def self.down
    drop_table :users
  end
end

migration実行

> rake migration

 コンソール上にも、特にエラーもなにも起こらない


生成されたテーブル

 name カラムが生成されない

mysql> desc users;
+------------+--------------+------+-----+---------+----------------+
| Field      | Type         | Null | Key | Default | Extra          |
+------------+--------------+------+-----+---------+----------------+
| id         | int(11)      | NO   | PRI | NULL    | auto_increment |
| created_at | datetime     | YES  |     | NULL    |                |
| updated_at | datetime     | YES  |     | NULL    |                |
+------------+--------------+------+-----+---------+----------------+
7 rows in set (0.02 sec)

Apache+OpenSSLのインストーラにopenssl.cnfがない

Download - The Apache HTTP Server Project より Win版の apache_2.2.14-win32-x86-openssl-0.9.8k.msi をダウンロードしてインストー
Apacheのインストーディレクトリ内をgrepしてもopenssl.cnfが見当たらないのはそういうモンなんだろうか?
それでも以下のコマンドで公開鍵(server.csr)が作成できてしまう不思議

openssl.exe req -new -key ../conf/server.key -out ../conf/server.csr -config ../conf/openssl.cnf

ちなみに「-config」オプションがないと怒られます
これまた不思議…

readline.dllが見つからなかったため、このアプリケーションを開始できませんでした

irb (interactive ruby)

コマンドプロンプトirbを起動しようと以下のコマンドを実行

C:\irb

実行結果

readline.dllが見つからなかったため、このアプリケーションを開始できませんでした

というエラーが発生


対応

  1. http://jarp.does.notwork.org/win32/ より readline-4.3-2-mswin32.zip をダウンロード
  2. 解凍してbin/readline.dll を [RUBY_HOME]/bin へコピー