В моем приложении Rails 4 есть модель Post, имеющая как :copy
, так и атрибут :short_copy
.Rails 4: условный дисплей не работает внутри вид
В сообщениях # Показать представление, я хочу показать :short_copy
, если он был определен пользователем, и :copy
в противном случае.
Итак, я осуществил следующий код:
<% if @post.short_copy %>
<%= @post.short_copy %>
<% else %>
<%= @post.copy %>
<% end %>
Проблема: когда :short_copy
определен, он появляется, однако, когда он не определен (и :copy
является определено), то :copy
не отображается.
С кодом что-то не так?
Возможно ли, что @ post.short_copy равно пустой строке? –
Да, это было бы возможно, вы правы. И тогда, если '@ post.short_copy' не ноль, значит, мы показываем его, и ничего не появляется. Итак, мне нужно проверить, что он делает что-то вроде 'if @ post.short_copy.nil? || @ post.short_copy.empty? 'например? –
Да. В точку. Я бы сделал '@ post.short_copy.nil?', Но тогда вам нужно будет убедиться, что ваш пользовательский ввод сохраняет правильно или 'nil'. :) –