Ruby on Rails
チュートリアルステップ4

<— チュートリアルステップ3 | チュートリアル | チュートリアルステップ6 (コーディング) —>

新しいモデルの生成

新しいmodelを‘script/generate model’ジェネレータを使って生成してください
(説明書用に引数なしで実行してください)

./script/generate model Person

Windowsプラットフォームでは、次のようにrubyを明示的に呼び出す必要があります:

ruby script/generate model Person

generateスクリプトにはもっと多くのオプションがありますが、このチュートリアルでは使いません。

モデルはデータベースのテーブルに対応し、テーブルはこのスクリプトでは生成されないことに注意してください。手動でこのテーブルを生成するか、使いたいRDBMSがサポートされいるなら、(できれば)ActiveRecord::Migrationを使ってスキーマの定義とDDLの生成を行う必要があります。

<— チュートリアルステップ3 | チュートリアル | チュートリアルステップ6 (コーディング) —>

今のところチュートリアルステップ5 (テストインストール)をスキップします。

コメント- 5と6を入れ替えるべきでは?

コメント- ステップ5は役立ちました。というのはデータペース設定がタイプミスで間違っていることが分かったからです。

質問: モデルとは何ですか?

回答: モデル、ビュー、コントローラの名前はデザインパターン(コードを書く共通の方法)に由来します。それについてはMVCを理解するCで述べられています。_

質問: Personテーブルの生成についてもっと詳しく説明しないのはなぜですか?生成されるテーブルのフィールドは何ですか?

回答: Personテーブルの情報はチュートリアルステップ1を参照してください。

質問: ‘より良い’テーブルを作るには、どのようにActiveRecord::Migrationを使えばいいですか?

回答: Migrationの使い方については、Migrationを理解するを参照してください。その方法はマイグレーションファイルの中に見ることができます。


class CreatePeople < ActiveRecord::Migration
  def self.up
    create_table :people do |t|
      # id is created for us.
      t.column :name,    :string, :limit => 50, :null => false
      t.column :street1, :string, :limit => 70, :null => false
      t.column :street2, :string, :limit => 70, :null => false
      t.column :city,    :string, :limit => 70, :null => false
      t.column :state,   :string, :limit => 2,  :null => false
      t.column :zip,     :string, :limit => 10, :null => false 
    end
    # make the :name field of the database a key.
    add_index(:people,:name)
    # Now we are going to add some data to the
    #   we just created.
    Person.create :name     => "Superman", 
                  :street1  => "123 Somewhere", 
                  :street2  => "",
                  :city     => "Smallville",
                  :state    => "KS",
                  :zip      => "123456" 
  end

  def self.down
    drop_table :people
  end
end

<— チュートリアルステップ3 | チュートリアル | チュートリアルステップ6 (コーディング) —>

カテゴリ:チュートリアル