Можно ли иметь инструкцию else, если try()?Rails: есть ли инструкция else, если try (: current_order)?
Блок еще будет игнорироваться:
<% if try(:current_order) %>
<% if current_order.state != 'complete' && current_order.line_items.count > 0 %>
<%= current_order.line_items.count %>
<% end %>
<% else %>
<%= " ".html_safe %>
<% end %>
Я хочу добиться печати из
если попробовать (: current_order) терпит неудачу.
UPDATE:
<li class="icon icon-cart">
<%= link_to spree.cart_path do %>
<div class="cart">
<%= image_tag("shopping_bag.png", class: 'shopping-bag') %>
<span class="cart-items-count">
<% if current_order %>
<% if current_order.state != 'complete' && current_order.line_items.count > 0 %>
<%= current_order.line_items.count %>
<% end %>
<% else %>
<% end %>
</span>
</div>
<% end %>
</li>
Я использую этот фрагмент кода в заголовке и когда я открываю статическую страницу, на которой нет current_order не доступна, то я получаю:
NameError in Spree::Pages#show
undefined local variable or method `current_order' for #<#<Class:0x007fcd7636c090>:0x007fcd8770e0c0>
Есть ли легко исправить без использования пытаться?
Вам не нужно пытаться использовать переменную, если вы цепляете методы –