【问题标题】:Do not render footer for new and edit in Rails不要在 Rails 中为 new 和 edit 渲染页脚
【发布时间】:2021-05-24 23:13:24
【问题描述】:

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

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

我认为我可以通过更改每个控制器来实现这一点,但在我的情况下,这将涵盖至少 5 个表。

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

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

【问题讨论】:

  • 所有新的和编辑的,还是针对某个控制器的?
  • 所有控制器
  • 仔细检查一下,你想删除新的页脚并编辑五个控制器或 Rails 应用程序中的所有控制器。

标签: ruby-on-rails erb


【解决方案1】:
<%= render 'layouts/footer' unless ["new", "edit"].include?(action_name) %>

从长远来看,尽管有更好的技术用于布局中的动态块,例如使用 captures helpernamed yields

【讨论】:

  • 谢谢你这样做。并且还用于指出更强大的方法。
猜你喜欢
  • 2013-03-10
  • 1970-01-01
  • 1970-01-01
  • 2013-10-01
  • 1970-01-01
  • 1970-01-01
  • 2015-01-31
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多