Ruby on rails 块始终返回true

Ruby on rails 块始终返回true,ruby-on-rails,Ruby On Rails,将始终返回true并擦除整个数组 <% users.delete_if do |user| %> <% false %> <% end %> 另一方面 <% users.delete_if do |user| false end %> 有效且不会删除阵列 我是否可以在视图中使用delete_if语句并仍然能够插入html 谢谢您不应该在视图中修改数据,而是在控制器或模型中进行修改。使用视图仅反映数据库的当前状态,而不是更改它 如

将始终返回true并擦除整个数组

<% users.delete_if do |user| %>
  <% false %>
<% end %>

另一方面

<%
users.delete_if do |user|
  false
end
%>

有效且不会删除阵列

我是否可以在视图中使用delete_if语句并仍然能够插入html


谢谢

您不应该在视图中修改数据,而是在控制器或模型中进行修改。使用视图仅反映数据库的当前状态,而不是更改它


如果在这些地方使用第二个版本的代码,这个问题就会消失。

您不应该在视图中修改数据,而是在控制器或模型中进行修改。使用视图仅反映数据库的当前状态,而不是更改它


如果您在这些地方使用第二个版本的代码,这个问题就会消失。

我认为,如果您在第一个表单中使用“yield”,我将不得不测试它,它会起作用

<% users.delete_if do |user| %>
  <% yield false %>
<% end %>


但是,正如第一张海报所说,您不应该从视图中更改数据

我想,如果你在第一种形式中使用“收益率”,我必须测试它,它会起作用

<% users.delete_if do |user| %>
  <% yield false %>
<% end %>


但是,正如第一张海报所说,您不应该从视图中更改数据

忽略视图中的副作用方面,下面是块“返回”值的原因:“
%>
”和“
忽略视图中的副作用方面,下面是块”返回的原因值:在“
%>
”和“