日々の記録。

プログラミングのメモや感じた事などを記録。

「RailsによるアジャイルWebアプリケーション開発 第4版」のメモ

RailsによるアジャイルWebアプリケーション開発 第4版のチュートリアルを試してのメモ

新しいWebアプリケーションの生成方法

rails new application_name

rails new depot

railsのインストール状況の確認方法

rake about

モデル、ビュー、コントローラ、テスターの雛形の作成

rails g scaffold モデル名 (属性名:属性型)*

rails g scaffold Product title:string description:text price:decimal

dbの生成

rake db:migrate

dbのmigrateのロールバック

rake db:rollback

テストの実行

rake test

unitのみ実行

rake test:units

functionalのみ実行

rake test:functionals

DBの初期データの設定

  1. db/seeds.rbをYAML書式で編集する。
  2. rake db:seed

※ 日本語を利用する場合は、先頭にUTF-8指定をすること。そうしないと文字コードによるエラーが発生することがある。

view毎に、controllerを識別するためのclass属性を定義するには

app/views/layouts/application.html.erb内に、

body class='<%= controller.controller_name %>' を設定する。

入力フィールドのチェック validates

空白チェック

presence

validates :attr_1, :attr_2, presence: true

0より大きいかチェック

numericality: greater_than_or_equal_to:0

validates :attr_1, :attr_2, numericality: greater_than_or_equal_to: 0

値のユニーク性

uniqueness

validates :title, uniqueness:true

正規表現によるチェック

validates :url, format: { with: %r((jpg|png)$), message: errormessage }

空白の許容

nilや""を許可する

validates :image, allow_blank: true

gitについて

gitの初回コミット

git init

git add .

git commit -m "message"

2回目移行

git add. # ファイルの追加がある場合

git commit -a -m "message"

※ -a -mのオプションの意味は要調査.

ファイルを削除するとき

git rm file名

ファイルの変更の確認

git status

テスト

テストフィクスチャ

  • railsの世界では、テストのための初期データを指す。
  • データは test/fixtures/テーブル名.yml でYAML形式で設定できる。(テーブル名は必須)
  • ymlファイル中で <%= %>を用いることでrubyスクリプトを記述するこもできる。

assert系

assert_select css構造が適切かどうかチェックする.

> assert_select '#columns #side a', minimum: 2 # '#columns #side a' 最低2つあること.

> assert_select '#main .entry', 3 '#main .entry'が3つであること

その他

  • %{}で文字列を囲むと""で囲む必要がなくなる。改行などがあるときに便利。
  • UTF-8を指定する場合は、先頭に# -- coding: utf-8 --を入れる。

疑問点

  • testcaseのany?メソッドの意味は?
  • 通貨を扱いには、number_to_currencyというヘルパーメソッドが用意されているが、デフォルトではドルになる。円にするには?

以後続く。