in_place_editなんちゃら関連のエラーメッセージ

めずらしくRailsネタ
in_place_edit_for()で、モデルオブジェクトがインスタンス変数に入ってないと出るエラー。
Called id for nil, which would mistakenly be 4 -- if you really wanted the id of nil, use object_id
なんとなく原因は分かったものの、確信もてなかった。かるくググったらここを発見
そしたら、こいつをプラグインでもいいし、適切な所で実行すると、エラーメッセージがもっとわかりやすくなる。
# vendor/rails/actionpack/lib/action_view/helpers/form_helper.rb
class ActionView::Helpers::InstanceTag
  def object
    @object || @template_object.instance_variable_get("@#{@object_name}") || raise("Could not find instance variable named @#{@object_name} in template")
  end
end
あー、@userが定義されてなかったんだね!と叫びそうなくらい、わかりやすいエラーメッセージが出たよ。