学んだことをなぐり書き


raiseでエラー表示

railse obj.inspect

ActiveRecord::MissingAttributeError

validate エラーが出たりしたら after_initialize 時に セッターが作成されてないので ActiveRecord::MissingAttributeError が出る可能性がある。
http://underrails.seesaa.net/category/3803771-1.ht...

erbファイルの<% %>内で改行を出力しない方法

<% -%> と最後の %> の前に - をつければいい
<% 3.times do -%>
ホー!<br />
<% end -%>

セッションデータにオブジェクトを入れるのは最悪。必ず文字列や数値にする

flash変数

次のリクエストまで有効な一時的なHashのようなもの。
エラーメッセージとか入れたりするのに使う

partial内で自動的にコレクションオブジェクトをループさせる

renderメソッドに :collection を設定すると、部分テンプレート内で勝手にループしてくれる
<%= render(:partial => "hoge", :collection => @hoges) %>
コレクションの要素は:partial名と同じになる
  • _hoge.html.erb
<%= hoge.str %>
<%= hoge.id %>

参考にしてみるオープンソース

コントローラーからヘルパーを呼ぶ場合

ApplicationController.helpers.ヘルパー関数名

便利ヘルパー関数

debug指定した変数の情報をHTML形式で出力してくれる
debuggerメソッドの位置の到着すると script/server を起動しているコンソールで ruby-degub が起動する

メンバーのみ編集できます