我有两个资源Team
和Player
. Player 是我的 Team 下的嵌套资源routes.rb
。
对于团队,我有一个show
带有show.html.erb
模板的操作。在那个模板中,我有类似的东西form_for [@team, @team.players.build]
,所以基本上我可以从团队视图中创建一个新玩家。
现在在控制器中为错误编码渲染/重定向的最佳方法Player#create
是什么?在标准的创建动作中,我会呈现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 的创建操作添加到 Team 控制器中?