首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Rails如何在迭代中设置条件?

Rails如何在迭代中设置条件?
EN

Stack Overflow用户
提问于 2017-05-08 18:47:39
回答 1查看 287关注 0票数 0

我试图在迭代中使用条件,但没有这样做,这里的场景如下:

在这种情况下,如果订单或产品是存在的,应该只显示订单和产品的反馈。

但即使是存在的,也要用odata和pdata来表示反馈。

有人知道为什么吗?

代码语言:javascript
复制
<% @feedbacks.each do |feedback| %>
      <% if order.present?  && product.present?  %>
      <% order = feedback.order %>
      <% product = order.product %>
      <% else %>
<% odata = feedback.odata %>
  <% pdata = odata.pdata %>
  <% end %>
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-05-08 18:55:22

我想这就是你想要做的,

代码语言:javascript
复制
<% @feedbacks.each do |feedback| %>
  <% if (order = feedback.order).present? && (product = feedback.product).present? %>
    <%= order.title %>
    <%= product.title %>
  <% else %>
    <%= (odata = feedback.odata).name %>
    <%= odata.pdata.name %>
  <% end %>
<% end %>

注意:titlename是假定列,请用所需/受尊重的属性替换它们。请通过this了解不同erb标记之间的区别。

比较:

  • 对于if条件,您试图直接调用orderproduct,这将引发与feedback相关的错误。
  • <% %>只是执行ruby代码,您想要打印数据,所以需要使用<%= %>
  • 当您不使用它时,不需要将它们保存在变量中。我在检查对象在条件中是否存在时保存了它们,并且可以用来显示而不需要查询数据库。
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43855127

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档