2012年3月4日日曜日

[ruby on rails]IntelliJでscaffold

Intellijをつかってscaffoldingして、rakeコマンドでデータベースにテーブル作成して画面を動かしてみた。

1.scaffoldコマンドの実行


1.1.tool->Run Rails Generator...を選択



1.2.表示されたダイアログで、scaffoldコマンドを選択


1.3.scaffoldコマンドのModel名などを入力する画面が表示されるので、必要な値を入力してOKを選択

今回は、モデル名に「user」、フィールドに「userId」と「userName」を入力してみました。
このダイアログは、1つの入力エリアにscaffoldの引数をすべて入力しないといけないので正直使いづらい・・・



一応、こんな感じに型は補完してくれますがちょっと微妙

1.4.生成されたものを見てみよう

こんな感じにコントローラやモデルが出力されてます。ViewとHelperはコントローラ配下からたどれるようになっていて、モデルだけ分離されていますね。

2.次はテーブルを作ろう

scaffoldで自動生成が終わると、データベースのマイグレーションファイルが出力されるのでテーブル作ってあげよう。
今回、自動生成されたファイルはこんな感じ。
class CreateUsers < ActiveRecord::Migration
  def change
    create_table :users do |t|
      t.string :userId
      t.string :userName

      t.timestamps
    end
  end
end

2.1.データベースのマイグレーションをしよう

データベースのマイグレーションは、run->Resume Programからたどった先のrakeコマンドで行います。 まずは、Resume Programをメニューからたどっていきます。

2.2.debug実行用のダイアログが表示されるので、db:migrateを選択する。

このときに注意しないといけないのは、debug実行で実行しないこと。普通にクリックすると、debug実行になるのでshiftを押しながらクリックすること。

2.3.DataSourceウィンドウでテーブル出来たことを確認

3.画面動かしてみよう

画面でたっ!!簡単ですね。 画面の動かし方は、こちらを見てね。→IntelliJでruby on rails