【发布时间】:2020-01-21 08:28:18
【问题描述】:
我有一个用户控制器,带有index、show、edit 和destroy 方法。在我的 layouts/ 文件夹中,我有一个通用的 user.html.erb 布局,可以呈现一些部分。由于某些信息不可用,这些部分当然会产生错误,例如@user.name。当我处于def show 状态时,我尝试始终渲染该部分,例如:
<% if Users.show %>
<% render "shared/asides/users" %>
<% else %>
Other partials
<% end %>
我尝试了多种方法,但总是出错。即使试图在 Rails 文档中找到这一点,我也感到完全迷失,那里似乎也没有任何说明。
【问题讨论】:
-
布局必须是通用的东西,不需要检查当前操作。你的布局有,或者至少应该有一行
= yield,这就是当前操作的视图所在的地方。所以如果你有views/users/show.html.erb,它会自动插入到布局中的yield的位置
标签: ruby-on-rails render partial-views ruby-on-rails-6