不要在 Rails 中为 new 和 edit 渲染页脚

问题描述

我不希望页脚为大约五个控制器进行编辑或新建渲染。

类似于<%= render 'layouts/footer',除了:[:new,:edit] %> in views/layouts/application.html.erb

我想我可以通过更改每个控制器来实现此目的,但在我的情况下,这至少会覆盖 5 个表。

或者我可以知道动作渲染并且可以在 _footer.html.erb 中执行 if then else。

这似乎很常见,所以 Rails 必须有一个简单的方法来做到这一点。

解决方法

<%= render 'layouts/footer' unless ["new","edit"].include?(action_name) %>

从长远来看,虽然有更好的技术来处理布局中的动态块,例如使用 captures helpernamed yields