Fight the Future

Java言語とJVM、そしてJavaエコシステム全般にまつわること

プレゼン、ボランティアコーチします!

勉強会でスピーカーをやりたいけど、プレゼンが初めて、苦手という方に無償でコーチします!資料レビューや録画リハへアドバイスします。Twitter@jyukutyoまでメンションでもDMでも。

私はデブサミやJJUG CCCなど200人規模で登壇経験ありです。海外での登壇も短いながらあり。デブサミ2017では公募スピーカー1位でした!

eclipseでCRUDのRailsアプリを作成する7つの手順

前提

  1. InstantRailsのインストール設定
  2. eclipseのプラグインであるRadRailsとRDTのインストールと設定

まだの人はこちらへ!
http://d.hatena.ne.jp/jyukutyo/20061229

7つの手順

  1. Railsプロジェクトの作成
  2. DBの設定
  3. modelの作成
  4. スキーマの定義
  5. テーブルの作成
  6. scaffoldの実行
  7. サーバの起動・確認

Railsプロジェクトの作成

  • 「Window→Open Perspective→Other...→Rails」を選択。
  • 「File→New→Rails Project」を選択。
  • 「Project Name」に「hello(任意)」を入力。チェックボックスはデフォルトのままで。

DBの設定

helloプロジェクト以下の「config/database.yml」を開く。

development:
  adapter: mysql
  database: hello_development
  username: root
  password:
  host: localhost

このままだと開発モードでは「hello_development」という名前のDBを使う設定です。
任意に変えてかまいません。
タスクバーのInstant Railsを「右クリック→Configure→Database(via PhpMyAdmin)」でPhpMyAdminが立ち上げます。
「新しいDBを作成します。」のテキストボックスに「hello_development(変更した場合はその文字列)」を入力し、作成ボタンを押します。
「データベース hello_development を作成しました。」と表示されればOKです。

modelの作成

eclipseのRails Navigatorでhelloプロジェクトを選択し、ビューで「Generators」を選択します。
左のドロップダウンリストから「model」を選択し、右のボックスには「hello」を入力、Goボタンを押します。コンソールにいろいろなファイルが作成されたことが表示されます。

スキーマの定義

helloプロジェクト以下の「db/migrate/001_create_hellos.rb」を開く。

class CreateHellos < ActiveRecord::Migration
  def self.up
    create_table :hellos do |t|
      # t.column :name, :string
    end
  end

  def self.down
    drop_table :hellos
  end
end

「# t.column :name, :string」はコメントアウトされているので「#」をはずすとhellosテーブルにnameという文字列型のカラムを定義することになります。
同じように書いていけばカラムを増やせます。

テーブルの作成

eclipseのビューで「Rake Tasks」を選択し、左のドロップダウンリストから「db:migrate」を選択し、右のボックスには「hello」を入力、Goボタンを押します。
コンソールにテーブルが作成されたことが表示されます。

scaffoldの実行

eclipseのビューで「Generators」を選択し、左のドロップダウンリストから「scaffold」を選択し、右のボックスには「hello」を入力、Goボタンを押します。

サーバの起動・確認

eclipseのビューで「Servers」を選択し、「helloServer」を選択して右クリックし、「Start」を選択します。「Status」が「Started」になったら「helloServer」を選択して右クリックし、「Launch Browser」を選択します。
アドレスに「http://localhost:3000/hellos」を入力して移動すれば、「Listing hellos」と表示されてCRUDができます!