我认为这是:
<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_id
和to_account_id
列中的值。所以,我正在使用另一个if else
语句检查to_account_id
是否为blank
,如果是,请使用第二个if else
语句中的第一个条件。
但是第二个if else
语句不起作用。实际上,我只看到<tr>
s to_account_id
有价值的地方。第一个if else
语句(带category
检查)工作正常。
另外,我想知道为什么if else
中的<td>
会影响<tr>
的可见度。
提前致谢!
答案 0 :(得分:1)
我建议你使用范围。你不必在你的视野中加入那么多逻辑。 您也可以使用范围,例如:
scope :with_categories, joins(:categories)
请参阅此处的Rails指南Ruby on Rails Guide以及有关此处的{ASCII}广播<{3}}