у меня есть это, на мой взгляд:Уплотненный «если еще» заявление в другой «если еще» не работает
<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>
с, где to_account_id
имеет значение. First if else
заявление (с category
проверка) работа хорошо.
Также мне интересно, почему if else
в <td>
влияет на видимость <tr>
.
Заранее благодарен!
Я думаю, что вы, вероятно, есть еще одна опечатки в коде. Как есть, это не будет ошибкой, как вы описываете. Кроме того, похоже, вы можете легко использовать if/elsif/else –
Да, вы правы! У меня была 'delegate: user,: to =>: account' в модели' Transaction' и 'has_many: transaction,: through =>: account' в' User'. Таким образом, согласно другим условиям в модели 'Account', транзакции current_user заключались только в транзакциях с' to_account_id' не пустым. И мои '
ответ
Я рекомендую вам использовать области применения. Тогда вам не нужно вставлять столько логики в ваше мнение. Вы можете использовать также области с ассоциациями, как:
Посмотреть Rails руководства здесь Ruby on Rails Guide и хороший ASCIIcast о здесь ASCIIcasts
источник
2013-06-02 16:46:57 Flo
Смежные вопросы