そりゃ、まだできてないデータだからcreateの処理が走るでしょ。

hogeがユーザ入力項目なら確認画面時のvalid?でチェックされるべきだし、
システムで自動的に入れる項目なら、チェックはなしにしてbefore_createで
設定すりゃいいんじゃないの?