Решение 1: В теге ERB попробуйте поставить пробел вокруг знака вопроса или, т. Е. ....nil?) ? 'block...
.
Решение лучше: Сделайте первый шаг, затем поместите этот код в помощник. Действительно поможет очистить ваши взгляды.
UPDATE
Несколько других советов: вам нужно изменить порядок условий, потому что вы захотите проверить, является ли значение nil
, прежде чем проверять, является ли это пустой строкой.
Вызов obj.blank?
эквивалентен вызову obj.nil? && obj.empty?
, поэтому код может быть немного короче. Еще лучше, obj.present?
- это то же самое, что !obj.blank?
.
Следовательно, эту строку можно упростить до:
session[:album][@artist.id.to_s].present? ? 'block' : 'none'
Happy Rails-ing!