家計簿をつくる1日目:インデックスのmodel/controller/viewの作成
Date:2014-01-16 01:16:05 +0900
Categories: TECHNOLOGY
Categories: TECHNOLOGY
$ rails generate model Kakeibo day:date money:integer category1:string category2:string card:boolean memo:string invoke active_record create db/migrate/20140115154502_create_kakeibos.rb create app/models/kakeibo.rb invoke test_unit create test/models/kakeibo_test.rb create test/fixtures/kakeibos.yml 最初Kakeiboの最初が大文字で単数じゃないといけないのを忘れていて早速エラーが出た。 とりあえず以下の形でmodelを作成した。 day:date: 入力日 money:integer: 金額 category_1:string: 大項目 category_2:string: 中項目 card:boolean: 真偽値クレカかどうか memo:string: メモ $ rake db:migrate == CreateKakeibos: migrating ================================================= -- create_table(:kakeibos) -> 0.0023s == CreateKakeibos: migrated (0.0024s) ======================================== dbをつくるところまではできた。ここまではドットインストールで見たままなので、コントローラとルーティングのところでちょっと違うところが出てくるでしょう。 $ rails generate controller Kakeibos create app/controllers/kakeibos_controller.rb invoke erb create app/views/kakeibos invoke test_unit create test/controllers/kakeibos_controller_test.rb invoke helper create app/helpers/kakeibos_helper.rb invoke test_unit create test/helpers/kakeibos_helper_test.rb invoke assets invoke coffee create app/assets/javascripts/kakeibos.js.coffee invoke scss create app/assets/stylesheets/kakeibos.css.scss つづいてconfig/routes.rb のファイルに resources :kakeibos を追加してルーティングの設定を追加。 $ rake routes Prefix Verb URI Pattern Controller#Action kakeibos GET /kakeibos(.:format) kakeibos#index POST /kakeibos(.:format) kakeibos#create new_kakeibo GET /kakeibos/new(.:format) kakeibos#new edit_kakeibo GET /kakeibos/:id/edit(.:format) kakeibos#edit kakeibo GET /kakeibos/:id(.:format) kakeibos#show PATCH /kakeibos/:id(.:format) kakeibos#update PUT /kakeibos/:id(.:format) kakeibos#update DELETE /kakeibos/:id(.:format) kakeibos#destroy でルーティングの設定を設定、確認。 コントローラのアクションの作成 controllers/kakeibos_controllees.rb 内にindexを表示するためのメソッドを表示 def index @kakeibos = Kakeibo.all end viewの作成 app/view/kakeibos 内に index.html.erb というファイルを作成 indexの部分はメソッド名と共通で決めになっている。 このファイルに表示する内容を書いたらもう一度サーバを起動して確認。 ちゃんと表示されているっぽいです。今日はここまでかな。 まだDBの中にデータが何も入っていないので一旦データを入れるためのページを作成します。Tweet