Rails 6:仅当我使用控制器中的方法时才渲染部分图像

问题描述 投票:0回答:1

我有一个用户控制器,具有indexshoweditdestroy方法。在我的layouts /文件夹中,我有一个通用的user.html.erb布局,用于呈现某些局部。由于某些信息不可用,例如@user.name,这些部分内容当然会产生错误。我一直尝试在处于def show状态时始终渲染该局部图像,例如:

<% if Users.show %>
<% render "shared/asides/users" %>
<% else %>
Other partials
<% end %>

我尝试了几种方法,但总是会出错。即使我试图在Rails文档中找到此内容,我也感到完全迷失了。

ruby-on-rails render partial-views ruby-on-rails-6
1个回答
0
投票

[您的问题是,正如您所说的,您正在尝试显示与用户关联的内容,例如@ user.name,但没有@user。

所以为什么在显示部分内容之前不检查@user?或者,如果您有一组用户,我猜是@users吗?

<% if @users %>
  <%= render "shared/asides/users" %>
<% else %>
  <%= Do something else %>
<% end %>

也许有点整洁:

<%= render (@users ? path/to/partial_a.html.erb : path/to/partial_b.html.erb) %>
© www.soinside.com 2019 - 2024. All rights reserved.