2007年10月09日

[Rails 2.0 Preview]新機能いくつか

 Rails 2.0: Preview Releaseの新機能でわかりやすいところをあげてみる。

scaffoldの変更


 まず、scaffoldで作成されるものが変わった。Rails 1.2でscaffold_resourceで作成されるものが2.0では、scaffoldになった。scaffold_resourceでは、RESTfulのコードが作成されていたので、Rails 2.0以降は、RESTfulメインということのようです。

1つのアクションに対して複数のビューが指定できる


 これも、Rails 1.2で少し出てきていたが、1つのアクションに対して複数のビューを指定できるようになった。
 またそのビューごとにテンプレートエンジンを指定できるようになった。

 リクエストでは、「(アクション).(拡張子)」と指定できるようになりました。描画形式はhtml、rss、xmlとか、テンプレートエンジンは、erb(Rails標準)、haml(記述が簡単なテンプレートエンジン ※使用できるためには別途ライブラリが必要)とかになると思います。

show.html.erbだと、showアクションの結果をhtml形式で出力するerbベースのビュー、show.xml.hamlだと、showアクションの結果をxml形式で出力するhamlベースのビューということになります。

 この変更のため、scaffoldで作成されるファイルもedit.html.erb、index.html.erb等に変更されています。

マイグレーションの記述方式の変更


create_table :people do |t|
t.column, "account_id", :integer
t.column, "first_name", :string, :null => false
t.column, "last_name", :string, :null => false
t.column, "description", :text
t.column, "created_at", :datetime
t.column, "updated_at", :datetime
end


create_table :people do |t|
t.integer :account_id
t.string :first_name, :last_name, :null => false
t.text :description
t.timestamps
end

のように記述できるようになりました。

 t.column ・・・の代わりに、t.integer、t.stringとか型名の関数で指定できます。

 同じ型でオプションが同じ場合、t.string :first_name, :last_name, :null => falseとか複数まとめて指定できます。

 t.timestampsと指定すると、t.datetime :created_at, :updated_atと同じ意味になります。
タグ:ruby on rails 2.0

人気blogランキング


posted by よっしぃ at 17:49 | Comment(0) | TrackBack(0) | Ruby On Rails
この記事へのコメント
コメントを書く
お名前: [必須入力]

メールアドレス:

ホームページアドレス:

コメント: [必須入力]

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。

この記事へのトラックバック
×

この広告は1年以上新しい記事の投稿がないブログに表示されております。