0

我认为这是:

<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语句来检查 if to_account_idis blank,如果是,则使用第二个if else语句中的第一个条件。

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

另外我想知道为什么if else<td>影响<tr>能见度。

提前致谢!

4

1 回答 1

1

我建议您使用范围。比你不必在你的观点中加入那么多逻辑。您还可以将范围与以下关联一起使用:

scope :with_categories, joins(:categories)

请参阅此处的 Rails 指南Ruby on Rails 指南和有关此处 ASCIIcasts 的不错的ASCIIcast

于 2013-06-02T16:46:57.883 回答