2013年8月6日火曜日

Head First Rails 4

バージョンアップに伴い再度チャレンジ

Chapter1

$ rails new tickets
$ cd tickets
$ rails g scaffold ticket name:string seat_id_seq:string address:text price_paid:decimal email_address:string
$ rake db:migrate
$ rails server

ラベル修正は基本的に差異はない。new.html.erbとedit.html.erbの記述が_form.html.erbにまとまっていてDRYしてる。

$ rails g migratation AddPhoneToTickets phone:string
$ rake db:migrate

ラベル修正は直前のと同様。Rails2.xではこの変更で十分だったが、Rails4でのscaffoldはcontrollerの作りが少し違うためこのままだとPhoneが空欄のままになっている。dbからデータを取得するカラムを指定しており、こちらにもPhoneを追加してあげる必要があった。具体的には下記の通り。

$ vi app/controllers/tickets_controller.rb

# ticket_paramsを修正
# phoneを追加してあげる必要がある
params.require(:ticket).permit(:name, :seat_id_seq, :address, :price_paid, :email_address, :phone)

イベントの追加も同じように

$ rails g scaffold event artist:string description:text price_low:decimal price_high:decimal event_date:date
$ rake db:migrate

0 件のコメント:

コメントを投稿