嵌套的“if else”语句到其他“if else”不起作用

时间:2013-06-02 11:35:51

标签: ruby-on-rails ruby-on-rails-3 if-statement

我认为这是:

<tr>
  <td>
    <% if transaction.category.blank? %>
        <a ... > ... </a>
    <% else %>
        <% if transaction.to_account_id.blank? %>
            <a ...> ... </a>
        <% else %>
            <a ...> ... </a>
        <% end %>
    <% end %>
  </td>
.
.
.
</tr>

a元素相当庞大,所以我省略了它们。

我需要检查事务是否没有类别,然后使用第一个if else语句中的第一个条件。

如果交易有类别,我需要检查,如果它包含from_account_idto_account_id列中的值。所以,我正在使用另一个if else语句检查to_account_id是否为blank,如果是,请使用第二个if else语句中的第一个条件。

但是第二个if else语句不起作用。实际上,我只看到<tr> s to_account_id有价值的地方。第一个if else语句(带category检查)工作正常。

另外,我想知道为什么if else中的<td>会影响<tr>的可见度。

提前致谢!

1 个答案:

答案 0 :(得分:1)

我建议你使用范围。你不必在你的视野中加入那么多逻辑。 您也可以使用范围,例如:

scope :with_categories, joins(:categories)

请参阅此处的Rails指南Ruby on Rails Guide以及有关此处的{ASCII}广播<{3}}