Ruby on Rails覚書
デバッグ方法_
Webページ上でハッシュや配列の中身を表示_
Marshal.dump(obj)を使う。
<pre> <%= Marshal.dump(@hash) -%> </pre>
ログにメッセージを表示_
logger.debugを使う。コントローラーに埋め込むとログに表示される。
logger.debug "hogehoge"
YAMLを使う_
ハッシュや配列ならYAMLを使える。
Viewで使う場合は
<%= @hash.to_yaml %>
Controllerで使う場合は、
logger.debug "@hash.to_yaml"
ActiveRecordコマンドのデバッグ_
ActiveRecord?::Relationはto_sqlでSQL文として出力可能なのでそれでチェックする。
relation = User.where("user_name = ? AND password = ?", user_name, password) logger.debug("SQL is #{relation.to_sql}."
参考リンク_
- オブジェクト指向スクリプト言語 Ruby リファレンスマニュアル(1.8.7)
- Ruby on Rails API
- RailsGuide:Railsの公式ドキュメント集(英語)
文字列とシンボル_
ハッシュのキーをシンボルか文字列に統一する_
{:a => 'b'}.stringify_keys #=> {"a" => "b"} {"a" => "b"}.symbolize_keys #=> {:a => "b"}
プログラマーkkの勉強/成長ブログ@ライブレボリューション(モバイル広告代理店):ハッシュのキーを文字列、或いはシンボルに統一するには? 〜stringify_keysとsymbolize_keysより
文字列をシンボルへ、シンボルを文字列へ_
- 文字列をシンボル
"str".to_sym か "str".intern
- シンボルを文字列
:symbol.to_s
/26/1574bddb75c78a6fd2251d61e2993b5146201319 るびすけの開発日記 ~Ruby on Rails~:文字列からシンボルへ変換するより
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)