gpt4 book ai didi

ruby-on-rails - 有没有办法从 Rails 的 View 中提前退出或 "return"?

转载 作者:行者123 更新时间:2023-12-03 20:47:36 24 4
gpt4 key购买 nike

Rails 是否提供任何方式来提前退出或从正在渲染的 View 中“返回”?

例如,我有一个结构如下的 View :

<h1>Your records summary</h1>

<% if @current_user.has_records? %>
<p>You don't have any records.</p>
<% else %>
... long block of view emission code here ...
<% end %>

在非 erb 代码中,我只需 return从那 if条件,并且不需要将那个长 block 放在 else 中.它看起来像:
<h1>Your records summary</h1>

<% if @current_user.has_records? %>
<p>You don't have any records.</p>
<% return (or something) %>
<% end %>
... long block of view emission code here ...

有没有办法在erb中做类似的事情?

编辑:要清楚, 我不是要求替代方法 , 如已建议。我不是 Rails 菜鸟。我真的只是想知道 Ruby 是否为我的建议提供了一种机制。

最佳答案

IIRC 没有用于提前退出模板的内置机制。这符合(我认为) View 层的行为方式,尽管 erb 并不是一个模板引擎。
旧时的解决方案是将模板包装在 catch 中。并从模板中抛出一些东西,比如一个符号。
您还可以将 eval 嵌入到 lambda 中,允许 return去工作。
不过,还是。

关于ruby-on-rails - 有没有办法从 Rails 的 View 中提前退出或 "return"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17282225/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com