【问题标题】:Run a block if a condition pass如果条件通过,则运行一个块
【发布时间】:2019-12-07 12:07:59
【问题描述】:

我只想在满足条件的情况下运行此块

<% if condition %>
 <% progressive_render do %>
   SLOW CODE HERE
 <% end %>
<% end %>

如果 条件 = 真

慢代码应该由“progressive_render”包裹运行

如果 条件 = 真

应该运行慢代码而不是由progressive_render 包裹。所以还是跑了。

【问题讨论】:

  • if condition = true 两次?
  • 只是要格外小心
  • "Stack Overflow question checklist" 是你的朋友。你的问题没有意义。正如@SebastianPalma 指出的那样,您正在询问两个相同的条件,期望不同的结果。另外,请注意语法/拼写在 SO 上非常重要,因为该网站就像在线百科全书,而不是留言板。

标签: ruby-on-rails ruby ruby-on-rails-6 ruby-2.6


【解决方案1】:

您可以将if-else 条件替换为保护子句(加上unless 条件):

<% SLOW CODE HERE unless condition %>
<% progressive_render { SLOW CODE HERE } %>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-03-31
    相关资源
    最近更新 更多