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が定義されてなかったんだね!と叫びそうなくらい、わかりやすいエラーメッセージが出たよ。