Ruby on Railsコマンドメモ
- はじめに
- RubyGemsとRuby on Railsのアップデート
- railsコマンド(2.3系)
- RESTful
- Rinari
- emacs-rails
- NetBeans
- APIリンク
- データベース管理システム
- Subversion
- 関連リンク
はじめに_
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の関係_
| URL | HTTPコマンド | アクション | 意図 |
| /enties | GET | index | リソースの一覧表示 |
| /enties/new | GET | new | リソースの作成画面 |
| /enties | POST | create | リソースの作成(このURLを呼び出した段階で生成) |
| /enties/:id | GET | show | :idのリソースの表示 |
| /enties/:id/edit | GET | edit | :idのリソースの編集画面 |
| /enties/:id | PUT | update | :idのリソースの編集(このURLを呼び出した段階で編集) |
| /enties/:id | DELETE | destroy | :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 コピー元 コピー先