2 つのリソースTeam
とPlayer
. Player は my の Team の下にネストされたリソースroutes.rb
です。
チームの場合、テンプレートを使用したshow
アクションがあります。show.html.erb
そのテンプレートには のようなものがform_for [@team, @team.players.build]
あるので、基本的にはチーム ビューから新しいプレーヤーを作成できます。
Player#create
on errorのコントローラーでレンダリング/リダイレクトをコーディングする最良の方法は何ですか? new
標準の作成アクションでは、アクションをエラーでレンダリングします。
if @player.save
redirect_to @player, notice: 'Player was successfully created.'
else
render action: 'new'
end
しかし今、私は別のコントローラー ( Player#create
) にいますが、フォームは にありTeam#show
ます。エラーが発生した場合、成功した場合と同様に @team にリダイレクトすると、インスタンス変数に格納されているエラー情報が失われます。試してレンダリングしたほうがいいteam/show.html.erb
ですか?これはちょっと面倒に見えます。それとも、Player の create アクションを Team コントローラーに追加するのでしょうか?