「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の初期データの設定
- db/seeds.rbをYAML書式で編集する。
- 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つであること
その他
疑問点
- testcaseのany?メソッドの意味は?
- 通貨を扱いには、number_to_currencyというヘルパーメソッドが用意されているが、デフォルトではドルになる。円にするには?
以後続く。