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}."

参考リンク_

文字列とシンボル_

ハッシュのキーをシンボルか文字列に統一する_

{: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の関係_

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)

戻る_