Ruby on Railsドキュメント (v4.2.1)

  • Rails4の基本からビュー、モデル、コントローラなどを、分かりやすく解説
  • メソッドが使用できるオプションや使用例などを多く取り入れました

Railsの基礎知識

  • Ruby on Railsとは
  • 規約
  • フォルダ構造
  • アプリケーション作成の流れ
  • Railsの実行環境

[Railsの基礎知識]へ

Rubyの基礎知識

  • Rubyとは
  • 変数
  • Rubyの便利なメソッド
  • 数値と文字列
  • 配列
  • ハッシュ
  • 条件分岐
  • ブロックとイテレータ
  • 例外処理
  • オブジェクト
  • シンボル
  • 正規表現

[Rubyの基礎知識]へ

セットアップ

  • Linuxへのインストール
  • Windowsへのインストール
  • Macへのインストール

[セットアップ]へ

railsコマンド(rails)

  • アプリケーションの作成(rails new)
  • モデルの生成(rails generate model)
  • マイグレーションの生成(rails generate migration)
  • ローカルでサーバを起動(rails server)
  • プラグインをインストール(rails plugin install)
  • 自動生成したファイルの削除(rails destroy)
  • アプリケーションに必要なコントローラ、モデル、ビューをまとめて生成(rails generate scaffold)
  • コントローラの生成(rails generate controller)
  • コンソールを起動(rails console)
  • データベースクライアントを起動(rails dbconsole)
  • Rails環境で動かすバッチ処理(rails runner)

[railsコマンド(rails)]へ

マイグレーション(migration)

  • マイグレーションとは
  • テーブルの作成(create_table)
  • テーブル名を変更(rename_table)
  • テーブルの削除(drop_table)
  • カラムの追加(add_column)
  • カラム名の変更(rename_column)
  • カラムの変更(change_column)
  • カラムの削除(remove_column)
  • インデックスの追加(add_index)
  • インデックスの削除(remove_index)
  • created_atとupdated_atを生成(timestamps)
  • リファレンスの生成(references)
  • データベースのカラムをバージョンアップ(up)
  • データベースのカラムをバージョンダウン(down)
  • データベースのカラムを変更(change)
  • マイグレーションファイルでSQLを実行(execute)
  • カラムが存在するかチェック(column_exists?)
  • インデックスが存在するかチェック(index_exists?)
  • テーブル定義を変更(change_table)
  • リファレンスの追加(add_reference)
  • created_atとupdated_atを追加(add_timestamps)
  • カラムの初期値を設定(change_column_default)
  • テーブルを結合して作成(create_join_table)
  • join_tableを削除(drop_join_table)
  • 複数のカラムを削除(remove_columns)
  • リファレンスの削除(remove_reference)
  • created_atとupdated_atの削除(remove_timestamps)
  • インデックスの変更(rename_index)
  • テーブルが存在するかチェック(table_exists?)

[マイグレーション(migration)]へ

モデル(model)

  • モデルについて
  • モデルを生成(new/build)
  • データベースから検索(find)
  • カラム名を指定して最初の1件を取得(find_by_colum)
  • SQLを直接指定(find_by_sql)
  • 検索条件を指定して取得(where)
  • 取得した値を並び替え(order/reorder)
  • 取得するカラムを指定(select)
  • 特定のレコード件数を取得(limit)
  • 取得した値をグループ化(group)
  • 取得したデータを絞り込む(having)
  • よく利用する検索条件をあらかじめ準備(scope)
  • デフォルトのスコープを定義(default_scope)
  • 検索結果の行数を取得(count)
  • カラムの最大値を求める(maximum)
  • カラムの平均値を求める(average)
  • カラムの最小値を求める(minimum)
  • カラムの合計値を求める(sum)
  • データベースに保存(save)
  • データベースを更新(update/update_all/update_attributes/update_attribute)
  • データベースから削除(destroy/delete/destroy_all/delete_all)
  • カラムを処理(calculate)
  • 1対1のリレーションシップ
  • 1対多のリレーションシップ
  • 多対多のリレーションシップ
  • 参照元テーブルから参照先テーブルにアクセス(belongs_to)
  • 1対1の関連を宣言(has_one)
  • 1対多の関連を宣言(has_many)
  • 多対多の関連を宣言(has_and_belongs_to_many)
  • トランザクション(transaction)
  • ポリモーフィック関連
  • データベースのロック
  • 特定のレコード位置から取得(offset)
  • カウンターキャッシュ(counter_cache)
  • 親モデルを削除するとき子モデルを自動削除
  • データの存在を確認(exists?)
  • タイムスタンプの自動保存を停止(record_timestamps)
  • 属性変更を確認・取得(changed/changed?)
  • 複数のテーブルを結合(joins)
  • アクティブレコードについて
  • XML変換(to_xml)
  • 特定のレコードをインクリメント(increment)
  • すべてのレコードを取得(all)
  • カラム名を指定してすべてのレコードを取得(find_all_by)
  • 先頭のレコードを取得(first)
  • 末尾のレコードを取得(last)
  • 適応した条件式を除外(except)
  • モデルを再取得(reload)
  • レコードのフィールド値(column_for_attribute)
  • テーブルのすべてのカラム名を取得(attribute_names)
  • レコードの状態をチェック(new_record?/persisted?/changed?/destroyed?)
  • 関連するテーブルをまとめて取得(includes)
  • 取得した値を逆順に並び替え(reverse_order)
  • データの大きなモデルに対してeachをする場合(find_each)
  • 複数カラムをまとめる(composed_of)
  • モデルが空であるか(any?)
  • モデルを生成して保存(create)
  • 複数のレコードを追加(concat)
  • テーブルの属性を取得(attribute_for_inspect)
  • モデルに任意のカラムが存在するかチェック(attribute_present?)
  • モデルの全てのカラムと属性を取得(attributes)
  • モデルに任意のカラムが存在するかチェック(has_attribute?)
  • モデルに対して呼び出せるかチェック(respond_to?)
  • 型に変更前のハッシュを取得(attributes_before_type_cast)
  • 任意のカラムに対して型に変更前のハッシュを取得(read_attribute_before_type_cast)
  • メソッドが存在するかチェック(attribute_method?)
  • 例外が発生するかチェック(instance_method_already_implemented?)
  • データの大きなモデルに対して件数を指定してeachをする場合(find_in_batches)
  • 主キーを取得(ids)
  • 任意のカラムの配列を取得(pluck)
  • クーロン作成(clone)
  • 検索条件を指定して最初の1件を取得(find_by)
  • 引数で指定した要素数を取得(take)
  • URLのidの部分にid以外のものを指定(to_param)
  • update_atを更新(touch)
  • 関連オブジェクトから新しいモデルを作成(create_with)
  • テーブルの外部結合(eager_load)
  • scopeを使ってモデルを拡張(extending)
  • レコードが参照されるテーブルを指定(from)
  • 空のモデルを取得(none)
  • 読み込み専用で取得(readonly)
  • 重複のないレコードを取得(uniq)
  • 条件式に一致しないものを取得(not)
  • 検索条件を指定して初めの1件を取得し、1件もなければ作成(find_or_create_by)
  • 取得する時のSQLを表示(to_sql)

[モデル(model)]へ

コントローラ(controller)

  • コントローラについて
  • パラメータの取得(params)
  • ページのレイアウトを設定(layout)
  • レンダリング(render)
  • リダイレクト(redirect_to)
  • 画像やファイルのダウンロード(send_file)
  • 動的に生成されたデータを出力(send_data)
  • アクセスしたユーザの情報を取得(request)
  • 簡単なメッセージを画面に表示(flash)
  • フォーマットを変更(respond_to)
  • オブジェクトを相互変換
  • コントローラ名・アクション名を取得
  • デフォルトのURLにマッピング(url_options)
  • アップロードされたファイルを取得(params)
  • XML形式のデータをハッシュに変換(from_xml)
  • 空のコンテンツを表示(head)
  • 表示結果を文字列として取得(render_to_string)
  • キャッシュのポリシーを設定(expires_in)
  • キャッシュの無効化(expires_now)
  • Atomフィードを生成(atom_feed)
  • ログを出力(logger)
  • アクションメソッドを隠す(hide_action)
  • フラッシュタイプの指定(add_flash_types)
  • SSLを強制(force_ssl)

[コントローラ(controller)]へ

ビュー(view)

  • ビューについて
  • ERBとは
  • ビューの変数
  • コメント構文
  • ボタンでリンク(button_to)
  • リクエストが指定したオプションで生成されたものかの確認(current_page?)
  • 条件に一致したらリンクを生成(link_to_if)
  • 条件に一致しなかったらリンクを生成(link_to_unless)
  • リンクを生成(link_to)
  • 現在のURLと一致しなかったらリンクを生成(link_to_unless_current)
  • メールアドレスへのリンクを生成(mail_to)
  • URLを生成(url_for)
  • 音声ファイルへのパス取得(audio_path)
  • 音声を再生(audio_tag)
  • フィード検出機能を有効(auto_discovery_link_tag)
  • ファビコンを設定(favicon_link_tag)
  • 画像へのパスを取得(image_path)
  • イメージタグを生成(image_tag)
  • JavaScriptファイルへのパスを取得(javascript_path)
  • JavaScriptをインクルード(javascript_include_tag)
  • 外部スタイルシートを指定するリンクタグを生成(stylesheet_link_tag)
  • スタイルシートへのパスを取得(stylesheet_path)
  • 動画ファイルへのパスを取得(video_path)
  • 動画を再生(video_tag)
  • 奇数偶数で処理を変える(cycle)
  • デバッグを出力(debug)
  • 文字列加工(simple_format)
  • 文字列を切り捨てる(truncate)
  • 文字列から特定の部分のみ抽出(excerpt)
  • ハイライト表示(highlight)
  • エスケープしない(raw)
  • 出力結果を変数に格納(capture)
  • 本体を持たない任意のタグを生成(tag)
  • 本体を持つ任意のタグを生成(content_tag)
  • レイアウトに複数のコンテンツを設定(content_for)
  • タグを取り除く(strip_tags)
  • リンクのみ取り除く(strip_links)
  • サニタイズ(sanitize)
  • レイアウトテンプレート(layouts)
  • コントローラで処理された内容を埋め込む先(yield)
  • 奇数偶数で処理を変える(current_cycle)
  • cycleで返す値を初期化(reset_cycle)
  • 日付データをフォーマット(strftime)
  • レイアウトについて
  • assetファイルへのパスを取得(asset_path)
  • JavaScriptを実行(link_to_function)
  • モデルから本体を持つ任意のタグを生成(content_tag_for)
  • モデルからDIVタグを生成(div_for)

[ビュー(view)]へ

フォーム(form)

  • フォームを生成(form_for/form_tag)
  • チェックボックス(check_box)
  • ラジオボックス(radio_button)
  • テキストエリア(text_area)
  • パスワード入力ボックス(password_field)
  • 隠しフィールド(hidden_field)
  • ラベル(label)
  • テキストボックス(text_field)
  • ファイル選択ボックス(file_field)
  • 選択ボックス(select)
  • 配列・ハッシュから選択肢を生成(options_for_select)
  • グループ分けされた選択肢を生成(option_groups_from_collection_for_select)
  • データベースから動的に選択肢を生成(options_from_collection_for_select)
  • データベースの情報を元に選択しを生成(collection_select)
  • 選択ボックスをグループ化(grouped_collection_select)
  • メールアドレス入力ボックス(email_field)
  • 数値入力ボックス(number_field)
  • 検索ボックス(search_field)
  • 電話番号入力ボックス(telephone_field)
  • URL入力ボックス(url_field)
  • サブミットボタン(submit)
  • 日時選択ボックス(datetime_select)
  • 範囲選択バー(range_field)
  • 配列・ハッシュから作成した選択肢をグループ化(grouped_options_for_select)
  • モデルを固定してフォームを生成(fields_for)
  • フォームの要素をグループ化(field_set_tag)
  • ボタンを生成(button)
  • 画像サブミットボタン(image_submit_tag)
  • 色の入力欄(color_field)
  • 日付の入力欄(date_field)
  • 日時の入力欄(datetime_field)
  • ローカル日時の入力欄(datetime_local_field)
  • 月の入力欄(month_field)
  • 時間の入力欄(time_field)
  • 週の入力欄(week_field)
  • 日付選択ボックス(date_select)
  • 時間選択ボックス(time_select)

[フォーム(form)]へ

Ajax

  • JavaScriptを読み込む(javascript_include_tag)

[Ajax]へ

クッキー・キャッシュ

  • セッションについて(session)
  • キャッシュの設定
  • クッキーを保存(cookies)
  • クッキーを削除(cookies.delete)
  • フラグメントキャッシュ(cache)
  • 永続化クッキー(cookies.permanent)
  • 署名付きクッキー(cookies.signed)
  • セッションに保存
  • セッション情報を削除(reset_session)
  • 現在のセッション情報を取得(session.session_id)
  • ページキャッシュの破棄(expire_page)
  • アクションキャッシュの破棄(expire_action)
  • フラグメントキャッシュを破棄(expire_fragment)

[クッキー・キャッシュ]へ

プラグイン(plugin)

  • コマンドの実行を自動化(capistrano)
  • グラフを表示(Gruff)

[プラグイン(plugin)]へ

検証(validation)

  • 属性の値が一意であることを検証(validates_uniqueness_of)
  • 関連付けられているオブジェクトを検証(validates_associated)
  • 実行前にリクエストの検証(verify)
  • チェックボックスのチェックが入っているか(acceptance)
  • 2つのフィールドが等しいか(confirmation)
  • 値が配列・範囲に含まれていないか(exclusion)
  • 値が配列・範囲に含まれているか(inclusion)
  • 正規表現パターンに一致しているか(format)
  • 文字列の長さをチェック(length)
  • 数値の大小、型をチェック(numericality)
  • 値が空でないか(presence)
  • 値が一意であるか(uniqueness)
  • 値が空でないか(validates_presence_of)
  • モデルの検証を定義(validate)
  • 空白であることを検証(validates_absence_of)
  • チェックボックスにチェックが入っているか検証(validates_acceptance_of)
  • 2つのフィールドが等しいか検証(validates_confirmation_of)
  • 値が配列・範囲に含まれていないか検証(validates_exclusion_of)
  • 正規表現パターンに一致しているか検証(validates_format_of)
  • 値が配列・範囲に含まれているか検証(validates_inclusion_of)
  • 文字列の長さをチェック(validates_length_of)
  • 数値の大小、型をチェック(validates_numericality_of)

[検証(validation)]へ

ルーティング(routes)

  • ルーティング定義(routes.rb)
  • RESTfulなURLを自動生成(resources)
  • 単一のリソースを定義(resource)
  • ルートを定義(match)
  • ルートのURLを指定(root)
  • URLにnamespaceを付与(scope)
  • 名前空間を付与(namespace)
  • ルーティングの内容を確認
  • GETリクエスト(get)
  • POSTリクエスト(post)
  • PATCHリクエスト(patch)
  • PUTリクエスト(put)
  • DELETEリクエスト(delete)

[ルーティング(routes)]へ

設定ファイル(config)

  • データベースの設定ファイル(database.yml)
  • 設定ファイルについて
  • オートロード対象となるパスの追加(config.autoload_paths)
  • アプリケーションで共通の変数を設定
  • 初期化の最後に実行する処理の設定(config.after_initialize)
  • アセットのホスト設定(config.asset_host)
  • 起動時のみロードする設定ファイルを追加(config.autoload_once_paths)
  • アプリケーションクラスのリロードをするかの設定(config.cache_classes)
  • テンプレートのレンダリングのキャッシュするかの設定(config.action_view.cache_template_loading)
  • キャッシュストアの設定(config.cache_store)
  • エラー情報をブラウザに表示をするかの設定(config.consider_all_requests_local)
  • 使用するコンソールを設定(config.console)
  • 設定のオートロードをするかの設定(config.dependency_loading)
  • Eager Loadingの設定(config.eager_load)
  • Eager Loadingで使用するネームスペースの設定(config.eager_load_namespaces)
  • eager_loadのパスを設定(config.eager_load_paths)
  • アプリケーション全体のエンコーディングを設定(config.encoding)
  • 例外処理アプリケーションを設定(config.exceptions_app)
  • ファイルシステム内の変更を検知するための設定(config.file_watcher)
  • ログファイルにパラメータ情報を出力しない(config.filter_parameters)
  • 強制的にHTTPSプロトコルを使用するかの設定(config.force_ssl)
  • ログレベルの指定(config.log_level)
  • タグ付きログの設定(config.log_tags)
  • 使用するログオブジェクトの種類(config.logger)
  • アプリケーションのミドルウェアの設定(config.middleware)
  • ファイルの変更検知の設定(config.reload_classes_only_on_change)
  • シークレットキーの設定(config.secret_key_base)
  • assetsの静的ファイルの設定(config.serve_static_assets)
  • ログを出力するときにカラーにするか(config.colorize_logging)
  • セッションストアの設定(config.session_store)
  • タイムゾーンの設定(config.time_zone)
  • 週の始まりの曜日の設定(config.beginning_of_week)
  • 初期化されていないオブジェクトの警告(config.whiny_nils)
  • アセットパイプラインを有効にするかの設定(config.assets.enabled)
  • assetsでコンパイルする設定(config.assets.compress)
  • CSSコンパイラーの設定(config.assets.css_compressor)
  • JavaScriptのコンパイラーの設定(config.assets.js_compressor)
  • assetsへのパス(config.assets.paths)
  • assetでプリコンパイルする設定(config.assets.precompile)
  • アセットパイプラインでprefix(config.assets.prefix)
  • assetにMD5フィンガープリントを使用(config.assets.digest)
  • Assetの結合と圧縮の設定(config.assets.debug)
  • キャッシュストアの設定(config.assets.cache_store)
  • Assetのバージョンを指定(config.assets.version)
  • ファイルがないときにファイルを探して自動コンパイル(config.assets.compile)
  • Assetロガーの設定(config.assets.logger)
  • ミドルウェアを独自に追加(config.middleware.use)
  • 既存のミドルウェアの後に新しいミドルウェアを追加(config.middleware.insert_after)
  • ミドルウェアスタックを入れ替える(config.middleware.swap)
  • ミドルウェアスタックを削除(config.middleware.delete)
  • 国際化対応のためのデフォルトのロケール(config.i18n.default_locale)
  • ロケールファイルへのパス(config.i18n.load_path)
  • ログオブジェクト(config.active_record.logger)
  • テーブルの主キーの設定(config.active_record.primary_key_prefix_type)
  • テーブルを生成するときに指定した文字列を先頭に追加(config.active_record.table_name_prefix)
  • テーブルを生成するときに指定した文字列を最後に追加(config.active_record.table_name_suffix)
  • テーブル名を生成するときに複数形への変換をするかの設定(config.active_record.pluralize_table_names)
  • データベースの処理の際に使うタイムゾーン(config.active_record.default_timezone)
  • スキーマの形式を変更(config.active_record.schema_format)
  • マイグレーションファイルの識別子を設定(config.active_record.timestamped_migrations)
  • 楽観的ロックの設定(config.active_record.lock_optimistically)
  • アセットファイルへのホストの設定(config.action_controller.asset_host)
  • コントローラのキャッシュ設定をするかの設定(config.action_controller.perform_caching)
  • キャッシュされたページに使用される拡張子の設定(config.action_controller.default_static_extension)
  • コントローラのデフォルト文字コード(config.action_controller.default_charset)
  • アクションコントローラのロガー(config.action_controller.logger)
  • RequestForgeryのトークンパラメータを設定(config.action_controller.request_forgery_protection_token)
  • CSRF保護をするかの設定(config.action_controller.allow_forgery_protection)
  • サブディレクトリ(config.action_controller.relative_url_root)
  • デフォルトで許可されるmass assignmentのパラメータの設定(config.action_controller.permit_all_parameters)
  • 許可されていないパラメータの例外処理について(config.action_controller.action_on_unpermitted_params)
  • Active Recordでのエラーを表示するためのHTMLジェネレーターの設定(config.action_view.field_error_proc)
  • デフォルトで使用するビルダー形式(config.action_view.default_form_builder)
  • ビューのロガーの設定(config.action_view.logger)
  • ERBの処理方法(config.action_view.erb_trim_mode)
  • Fromでのauthenticity_tokenの付与について(config.action_view.embed_authenticity_token_in_remote_forms)
  • サブディレクトリの名前空間について(config.action_view.prefix_partial_path_with_controller_namespace)
  • 電子メールで使用するデフォルトのロガーの設定(config.action_mailer.logger)
  • SMTPの設定(config.action_mailer.smtp_settings)
  • センドメールの設定(config.action_mailer.sendmail_settings)
  • 電子メールが配信完了できない場合にエラーを発生させるかの設定(config.action_mailer.raise_delivery_errors)
  • 電子メールの配信方法を設定(config.action_mailer.delivery_method)
  • 電子メールの使用をするかの設定(config.action_mailer.perform_deliveries)
  • 電子メールのデフォルトオプション(config.action_mailer.default_options)
  • メールが配信されたときに通知されオブザーバーを登録(config.action_mailer.observers)
  • 電子メールが送信される前に呼び出させるインタープリタを登録(config.action_mailer.interceptors)
  • セッションストアの名前の設定(config.action_dispatch.session_store)
  • デフォルトで設定されたHTMLヘッダを持つハッシュ(config.action_dispatch.default_headers)
  • アプリケーションのトップドメインの長さを設定(config.action_dispatch.tld_length)
  • リクエストの前に実行する処理(ActionDispatch::Callbacks.before)
  • ActionDispatch::Callbacks.beforeの後に実行する処理(ActionDispatch::Callbacks.to_prepare)
  • リクエストの後に実行する処理(ActionDispatch::Callbacks.after)
  • アクティブサポートのロードの設定(config.active_support.bare)
  • JSONのシリアル化でHTMLエンティティのエスケープ処理をするかの設定(config.active_support.escape_html_entities_in_json)
  • ISO8601形式に日時をシリアライズ(config.active_support.use_standard_json_time_format)
  • サイレンサーのブロックをするかの設定(ActiveSupport::Logger.silencer)
  • キャッシュストアで使用するロガーの設定(ActiveSupport::Cache::Store.logger)
  • 非推奨の警告の動作を設定(ActiveSupport::Deprecation.behavior)
  • 指定されたブロックで警告が表示されるか(ActiveSupport::Deprecation.silence)
  • 非推奨の警告を標示するかの設定(ActiveSupport::Deprecation.silenced)

[設定ファイル(config)]へ

テスト(test)

  • テストとは
  • Railsのテストについて
  • テストを実行
  • テストデータ (fixtures)
  • ユニットテストについて
  • ファンクショナルテスト
  • インテグレーションテスト
  • ユニットテストで使うメソッド

[テスト(test)]へ

運用

  • パッケージの管理
  • データベースの作成(mysqladmin)
  • SQLite
  • Railsが使っているライブラリのバージョン

[運用]へ

その他

  • Rails年表
  • タイムゾーン一覧

[その他]へ

ブックマーク

  • Ruby on Rails Guides

[ブックマーク]へ

アクティブサポート(activesupport)

  • 日付関連
  • 真偽判定
  • アクティブサポートとは
  • 単数形と複数形の変換
  • クラス名・ファイル名・テーブル名の変換
  • 日時関連
  • 時間関連(TIme)
  • 単位を計算
  • 引数の文字列で指定した名前で定数を探す(constantize)
  • アンダーバーをハイフンに変換(dasherize)
  • 文字列から右端のセグメントを削除(deconstantize)
  • 文字列からモジュールの一部を削除(demodulize)
  • クラス名から外部キーの名前を作成(foreign_key)
  • 最初の単語を大文字にし、スペースやストリップ末尾の_idを削除(humanize)
  • 数値を通貨のフォーマットに変換(number_to_currency)
  • 数値を単位のフォーマットに変換(number_to_human)
  • バイト単位の数値を変換(number_to_human_size)
  • 数値をパーセントに変換(number_to_percentage)
  • 桁区切り文字を追加(number_with_delimiter)
  • 数値を特定の桁で丸める(number_with_precision)
  • USの電話番号フォーマット(number_to_phone)
  • 数字を区切り文字を使用してグループ化(number_to_delimited)
  • フォーマットの指定されたレベル(number_to_rounded)

[アクティブサポート(activesupport)]へ

HTMLの基礎知識

  • XHTMLの基礎
  • HTTPステータスコードとシンボル名
  • MIMEタイプ
  • 言語コード
  • リンクタイプ

[HTMLの基礎知識]へ

アセットパイプライン(Asset Pipeline)

  • アセットパイプラインについて
  • 設定
  • フィンガープリンティング(Fingerprinting)

[アセットパイプライン(Asset Pipeline)]へ

ヘルパー(helper)

  • ビュー以外でヘルパーを呼び出す

[ヘルパー(helper)]へ

Gem

  • 必要なライブラリをインストール(bundle)
  • Gemfile

[Gem]へ

Rake

  • マイグレーションの実行(rake db:migrate)
  • マイグレーションをロールバック(rake db:rollback)
  • データベースに初期データを投入(rake db:seed)
  • Rakeとは
  • コマンド一覧(rake -T)
  • 使用しているライブラリのバージョンを確認(rake about)
  • ソースコードからドキュメントを生成(rake doc:app)
  • Railsのドキュメントを生成(rake doc:rails)
  • ソースコードにTODOを記入(rake notes)
  • Railsのバージョンアップ(rake rails:update)
  • 自動生成されるテンプレートをカスタマイズ(rake rails:templates:copy)
  • Rakeファイルを自作
  • ログファイルを削除(rake log:clear)
  • データベースを作製(rake db:create)
  • データベースを削除(rake db:drop)
  • マイグレーションの履歴(rake db:migrate:status)
  • マイグレーションのバージョンを確認(rake db:version)
  • スキーマファイルでデータベースを作成(rake db:schema:load)
  • 現在のデータベースからスキーマファイルを生成(rake db:schema:dump)
  • データベースに初期データを挿入(rake db:seed)
  • データベースにテストデータを挿入(rake db:fixtures:load)

[Rake]へ

RubyとRailsのベストプラクティス

  • カッコはK&Rスタイル
  • 制御文の引数をと後続の開きの間にスペース
  • メソッドまたは変数の名前と後続の開きカッコはくっつける
  • 文末の後ろのセミコロンは省略
  • 複数行にまたがるリストで最後の値の後ろにコンマ
  • 2列のインデントレベル
  • インデントにはタブではなくスペースを使用
  • 配列の名前は複数形、ハッシュの名前は単数形
  • アンダースコアを使って複数の単語を区切る
  • 大文字の使い分け
  • 複数行の文字列はヒアドキュメントを使う
  • クラスやメソッドどうしの区切りは空行を挿入
  • メソッドは引数がある場合は、カッコを付ける
  • ブロック処理は、基本的にdo endを使用
  • if文のthenは省略
  • if !xはunless xに置き換える
  • 文字列リテラルには基本的に"..."を使用
  • クラス名とモジュール名は、単語の1文字目を大文字で、区切り文字は使用しない
  • メソッド名は、すべて小文字で単語の区切りはアンダースコアを使用

[RubyとRailsのベストプラクティス]へ

CoffeeScript

  • CoffeeScriptについて
  • 基礎
  • CoffeeScript勉強法
  • 変数
  • 数値と文字列
  • コメント
  • 配列
  • ハッシュ
  • 条件分岐(if/unless)
  • ループ(while/for)
  • 関数
  • CoffeeScript関連ツール
  • CoffeeScriptを使うための準備
  • 演算子
  • クラス

[CoffeeScript]へ

jQuery

  • jQueryについて
  • jQueryを使うための準備
  • jQueryの書き方
  • jQueryのセレクター
  • jQueryのメソッド
  • その他
  • jQueryの記述する場所
  • jQueryのイベント
  • jQueryのフォーム

[jQuery]へ

CoffeeScriptとjQueryの実例

  • フォーム関連

[CoffeeScriptとjQueryの実例]へ