Ruby on Railsコマンドメモ

はじめに_

Rails 2.3系と3.0系が混ざっている

RubyGemsとRuby on Railsのアップデート_

RubyGemsのアップデート(Windows)_

# gem install rubygems-update
# update_rubygems

RubyGemsのアップデート(Debian)_

# gem1.8 update --system

Railsのアップデート_

先にgemsのアップデートをしておくこと

# gem update rails

Railsプロジェクトにおける使用Railsのバージョン2.3系から3.0系へ_

3.0系で新たにプロジェクトを作成し、2.3系のプロジェクトから必要なファイルをコピーする方法で行う。

Railsプロジェクトにおける使用Railsのバージョン(2.3系)_

先にgemsのアップデートをしておくこと。また、これにより動作に不具合がでる可能性があるので注意。

まず、config/environment.rbのバージョンを最新版に変更する。具体的には以下の部分のバージョンを変更する。

# Specifies gem version of Rails to use when vendor/rails is not present
RAILS_GEM_VERSION = '2.3.4' unless defined? RAILS_GEM_VERSION

その後、バージョンをあげる。

% rake rails:update:configs
% rake rails:update:javascripts
% rake rails:update:scripts

あるいは、上記3つを一度に行なう。

% rake rails:update

railsコマンド(2.3系)_

環境変数の設定_

RAILS_ENVで環境変数を設定する。開発時はdevelopment、本番環境はpuroduction。

.cshrcに書くならば以下を追加。

env RAILS_ENV production

.bashrcに書くならば以下を追加。

RAILS_ENV=production
export RAILS_ENV

プロジェクト開始_

% rails プロジェクト名

scaffold(モデル+データの追加/閲覧/編集/削除)_

% ruby script/generate scaffold モデル名の単数形 フィールド名の型と並び

モデルの生成(2.3系)_

% ruby script/generate model モデル名の単数形 フィールド名の型と並び

コントローラー&ビューの生成_

コントローラーだけ

% ruby script/generate controller コントローラー名 

コントローラー&ビュー

% ruby script/generate controller コントローラー名 アクション名

例:users_controller.rbとindex, edit, postのビューのページが生成される。

% ruby script/generate controller Users index edit post

migration_

最新状態へ

% rake db:migrate

fixture(テスト用データ)_

読み込み

% rake db:fixtures:load

テーブル単位での読み込み

% rake db:fixtures:load FIXTURES=テーブル名1,テーブル名2

Databaseからfixtureファイルを生成する_

税理士業界でSaaS開発を行うプログラマの日記:DBから、YAMLフィクスチャを出力するRailsプラグインを公開のプラグインを利用する。

プラグインのインストール(事前にgitのインストールが必要)

% script/plugin install git://github.com/abikounso/ar_extractor.git

Rspecを使っていなければ、ファイルはtext/fixtures以下に出力される。

全テーブルのデータを出力

% rake db:fixtures:extract

特定のテーブルのデータだけ出力

% rake db:fixtures:extract FIXTURES=users,clients

環境を指定してデータの出力(例えば開発環境で本番環境のデータベースの内容を出力する)

Cシェル系の場合
% env RAILS_ENV=production rake db:fixtures:extract FIXTURES=answers,respondents

RESTful_

アクションとURLの関係_

URLHTTPコマンドアクション意図
/entiesGETindexリソースの一覧表示
/enties/newGETnewリソースの作成画面
/entiesPOSTcreateリソースの作成(このURLを呼び出した段階で生成)
/enties/:idGETshow:idのリソースの表示
/enties/:id/editGETedit:idのリソースの編集画面
/enties/:idPUTupdate:idのリソースの編集(このURLを呼び出した段階で編集)
/enties/:idDELETEdestroy:idのリソースの破棄

Rinari_

キーバインド_

     C-c ; f c	rinari-find-controller
     C-c ; f e	rinari-find-environment
     C-c ; f f	rinari-find-file-in-project
     C-c ; f h	rinari-find-helper
     C-c ; f i	rinari-find-migration
     C-c ; f j	rinari-find-javascript
     C-c ; f l	rinari-find-plugin
     C-c ; f m	rinari-find-model
     C-c ; f n	rinari-find-configuration
     C-c ; f o	rinari-find-log
     C-c ; f p	rinari-find-public
     C-c ; f s	rinari-find-script
     C-c ; f t	rinari-find-test
     C-c ; f v	rinari-find-view
     C-c ; f w	rinari-find-worker
     C-c ; f x	rinari-find-fixture
     C-c ; f y	rinari-find-stylesheet

emacs-rails_

キーバインド_

.emacsでキーバインドを変更している次の節を参照のこと

  • C-c C-p:対応する controller/view の切り替え
  • C-c C-n:行き先を選べるファイルの切り替え

関連するファイルへのジャンプ

  • C-c C-c g m:モデルへ移動
  • C-c C-c g c:コントローラーへ移動
  • C-c C-c g h:ヘルパーへ移動
  • C-c C-c g g:migrateへ移動
  • C-c C-c g m:モデルへ移動
  • C-c C-c g x:fixtureへ移動
  • C-c C-c g l:layoutへ移動
  • C-c C-c g s:stylesheetへ移動
  • C-c C-c g j:javascriptへ移動
  • C-RET:関連するファイルを開く

キーバインドの設定_

ControllerとViewの切り替えキーをC-<Up>とC-<Down>からC-c C-pとC-c C-nへ変更

(define-key rails-minor-mode-map "\C-c\C-p" 'rails-lib:run-primary-switch)
(define-key rails-minor-mode-map "\C-c\C-n" 'rails-lib:run-secondary-switch)

NetBeans_

APIリンク_

データベース管理システム_

SQLite3_

対話モード_

% sqlite3 データベース名

非対話モード_

% sqlite3 データベース名 "コマンド"

SQL文の出力(非対話モード)_

% sqlite3 データベース名 ".dump" > ファイル名

SQL文の入力_

% rm dbname
% sqlite3 dbname < sql_file.sql

Subversion_

Subversionで管理しているディレクトリのエクスポート_

% svn export コピー元 コピー先

関連リンク_