昨日の機能を振り返る
sign_upインスタンス変数である@targetがあるビューにとべない。
原因
1sign_upした
2user/showに飛ぶ
3user/showは@targetの情報が記載されているのでエラー
解決方法
sign in後 @targetをsaveした後にuser/showを表示させるように工程をかえる
def after_sign_in_path_for(resource)
target = @user.targets.build(target_params)
if target.save
user_path(resource.id)
else
flash[:notice] = ""
new_target_path
end
end
これでtargetがセーブされた後にuser/showにとばすことができました。
後deviseのnoticeは、アカウント登録しましたと表示される
Userはバリテーションをかけていて
@targetはバリテーションではなくtarget_newにとばすしようにした
userとtarget 両方入力 user/showに移動
user情報未入力target情報入力 userのバリテーションがききsign_upの情報に戻る
user情報入力target情報未入力 target/newの画面に移動